我有一个熊猫数据框,我想在其中更新基于数据框中另一列的列的值。我之前使用以下代码进行更新:熊猫:更高效的方式来更新熊猫数据框中的一列没有for循环
for i1, col1 in dfMod.iterrows():
if col1['day'] == "MONDAY":
dfMod.ix[i1,'weekIndex'] = 1
elif col1['day'] == "TUESDAY":
dfMod.ix[i1,'weekIndex'] = 2
elif col1['day'] == "WEDNESDAY":
dfMod.ix[i1,'weekIndex'] = 3
elif col1['day'] == "THURSDAY":
dfMod.ix[i1,'weekIndex'] = 4
elif col1['day'] == "FRIDAY":
dfMod.ix[i1,'weekIndex'] = 5
elif col1['day'] == "SATURDAY":
dfMod.ix[i1,'weekIndex'] = 6
else:
dfMod.ix[i1,'weekIndex'] = 7
但是,数据帧有300,000行,需要永久编译。有没有更好的方法来更新列?
看那系列'map'方法。 – BrenBarn
我刚刚也问过这个。我的问题可能对你有用:http://stackoverflow.com/questions/42972081/updating-columns-in-dataframe-using-a-series – sdasdadas