我有两个数据帧df
和df2
就像这样
id initials
0 100 J
1 200 S
2 300 Y
name initials
0 John J
1 Smith S
2 Nathan N
我想比较(df
和df2
)中找到的initials
列中的值,并复制其初始值与第一个数据帧(df
)中的初始值匹配的名称(在df2
)
import pandas as pd
for i in df.initials:
for j in df2.initials:
if i == j:
# copy the name value of this particular initial to df
输出应如下:
id name
0 100 Johon
1 200 Smith
2 300
你知道怎么解决这个问题吗?
使用布尔掩码:
df2.initials==df1.initials
将告诉您两个initials
列中的哪些值相同。使用此掩码创建新列:
删除
df1
中的initials
列:使用
fillna(' ')
替换NaN
怎么样?以下内容:
因此“initials”列将被删除,“id”列中有
np.nan
的任何内容也将被删除。如果你不想把
np.nan
放在.fillna()
上:相关问题 更多 >
编程相关推荐