pandas使用isin和loc更新列值

时间:2016-10-18 17:46:20

标签: python pandas

我尝试更新数据框中与此处http://stackoverflow.com/questions/24768657/replace-column-values-based-on-another-dataframe-python-pandas-better-way相同的列。但是我无法这样做 -

df = pd.read_csv('Analyzed_test.csv')
df['rule_prediction'] = " " # created a column
a1 = pd.read_csv('D:\Junk\ML\\files\\Analyzed_rule1.csv')
a2 = pd.read_csv('D:\Junk\ML\\files\\Analyzed_rule2.csv')
a3 = pd.read_csv('D:\Junk\ML\\files\\Analyzed_rule3.csv')
a4 = pd.read_csv('D:\Junk\ML\\files\\Analyzed_rule4.csv')

df.loc[df.ID.isin(a1.ID), ['rule_prediction']] = a1[['rule_prediction']]
df.loc[df.ID.isin(a2.ID), ['rule_prediction']] = a2[['rule_prediction']]
df.loc[df.ID.isin(a3.ID), ['rule_prediction']] = a3[['rule_prediction']]
df.loc[df.ID.isin(a4.ID), ['rule_prediction']] = a4[['rule_prediction']]

#print t.count
#print self.df.head()
df.to_csv('D:\Junk\ML\\files\\output.csv')

当我打开output.csv时,我看不到填充的值。

Analyzed_rule中的列[1-4] .csv dataframe in Analyzed_rule1.csv

我要更新的是 - 根据匹配的ID列,Analyzed_test.csv到output.csv。

提前致谢。

0 个答案:

没有答案