python新手。 我正在从原始数据帧中读取行并尝试将其附加到目标数据帧。 这是我的计划 读取rawdata每一行的主要代码。
for i,row in raw_data.iterrows():
tool=row['entity']
shift=row['shift_info']
time=row['time_delta']
set_flag (tool,shift,time,raw_data,Display_data)
然后我构造一个dict来附加到目标数据帧。
def set_flag(tool,shift,time,raw_data,Display_data):
for j,rows in Display_data.iterrows():
temp_col='time'+str(time)
if(rows['entity']==tool and rows['shift_info']==shift):
rows[temp_col]=1
else:
# print tool
newrow = [{'shift_info':shift,'entity':tool,temp_col:1}]
# print newrow
Display_data = Display_data.append(newrow, ignore_index=True)
代码执行,但Display_data数据框不会更改。 任何人都可以教育我的问题吗?谢谢!
答案 0 :(得分:0)
试试这个
import copy
def set_flag(tool,shift,time,raw_data,Display_data):
new_data = copy.deepcopy(Display_data)
for j,rows in Display_data.iterrows():
temp_col='time'+str(time)
if(rows['entity']==tool and rows['shift_info']==shift):
rows[temp_col]=1
else:
# print tool
newrow = [{'shift_info':shift,'entity':tool,temp_col:1}]
# print newrow
new_data.append(newrow, ignore_index=True)
return new_data
获取您呼叫的新变量。
Display_data = set_flag (tool,shift,time,raw_data,Display_data)