【发布时间】:2017-08-14 14:30:14
【问题描述】:
我有两个数据框,我想更新第一个。 df1 包含不同的市场(M1、M2 等)和每个市场的一些代码(数字或虚拟)
import pandas as pd
labels = ["Market","Code"]
values = [["M1","1234"],["M1","Dummy"],["M1","1234"],["M2","Dummy"],["M1","1234"]]
df = pd.DataFrame.from_records(values,columns=labels)
print(df)
Market Code
0 M1 1234
1 M1 Dummy
2 M1 1234
3 M2 Dummy
4 M1 1234
如果 Code == Dummy,那么我想根据这个特定市场的 df2 中的值更新 df 中的 Code。所以每个市场都应该收到不同的新代码。
labels = ["Market","Code(New)"]
values = [["M1","4567"],["M2","5678"]]
df2 = pd.DataFrame.from_records(values,columns=labels)
print(df2)
Market Code(New)
0 M1 4567
1 M2 5678
最后我应该得到
labels = ["Market","Code"]
values = [["M1","1234"],["M1","4567"],["M1","1234"],["M2","5678"],["M1","1234"]]
df_clean = pd.DataFrame.from_records(values,columns=labels)
print(df_clean)
Market Code
0 M1 1234
1 M1 4567
2 M1 1234
3 M2 5678
4 M1 1234
【问题讨论】:
-
嗨,你试过什么代码?为什么它不起作用?