1 回答
![?](http://img1.sycdn.imooc.com/5458453d0001cd0102200220-100-100.jpg)
TA贡献1772条经验 获得超5个赞
一步步:
df1.set_index("MONEY")["Value"]
此代码将列转换MONEY为Dataframe索引。结果是:
print(df1)
MONEY
EUR 850
USD 150
DCN 1
df2["Money"].map(df1.set_index("MONEY")["Value"])
此代码将 的内容映射df2到df1。这将返回以下内容:
0 150.0
1 NaN
2 850.0
3 NaN
df2现在我们将前一列分配给名为的新列Value。把它们放在一起:
df2["Value"] = df2["Money"].map(df1.set_index("MONEY")["Value"])
df2现在看起来像:
Money Value
0 USD 150.0
1 GBP NaN
2 EUR 850.0
3 CLP NaN
只剩下一件事要做:删除任何有价值的行NaN:
df2.dropna(inplace=True)
整个代码示例:
import pandas as pd
# Create df1
x_1 = ["EUR", 850], ["USD", 150], ["DCN", 1]
df1 = pd.DataFrame(x_1, columns=["MONEY", "Value"])
# Create d2
x_2 = "USD", "GBP", "EUR", "CLP"
df2 = pd.DataFrame(x_2, columns=["Money"])
# Create new column in df2 called 'Value'
df2["Value"] = df2["Money"].map(df1.set_index("MONEY")["Value"])
# Drops any rows that have 'NaN' in column 'Value'
df2.dropna(inplace=True)
print(df2)
输出:
Money Value
0 USD 150.0
2 EUR 850.0
添加回答
举报