我需要向dataframe
中的某些单元格添加一些字符。当我在循环中打印xx
时,这些值是所需的。但是当我打印整个dataframe
时,值没有改变:
for row in df['Time from AtoC']:
if ':' not in row:
xx = "00:" + row
# print(xx)
df.at['Time from AtoC'] = xx
else:
df.at['Time from AtoC'] = row
我得到的结果是
当我只有100条时,有179行数据,其中一些值仍然保留 保持不变(前面没有00:)。
答案 0 :(得分:0)
如果您不尝试将00(即字符串)添加到时间的前面,您似乎在尝试将它们加在该时间的前面?您可以将决策逻辑放入函数中,然后立即将其全部应用于列。 (作为奖励,您可以使用匿名函数(lambda)在同一行中完成所有操作。
def add_00(time):
if ':' not in time:
return "00:" + time
return time
df['Time from AtoC'] = df['Time from AtoC'].apply(add_00)