我有两个具有多列的数据帧。
我想比较df1['id']和df2['id'],并返回一个新的df,其中列['correct_id']具有匹配值。例子:
df1:
id Name
0 123 Paul
1 c345 Jean
2 0 Alicia
3 345 Jennifer
df2
id Name
0 123 Paul
1 980 Jean
2 0 Alicia
3 945 Jennifer
这是我的代码:
import pandas as pd
df1=pd.DataFrame({'id':['123','c345','0','345'],
'Name':['Paul','Jean','Alicia','Jennifer'],
})
print(df1)
df2 = pd.DataFrame({'id':[123,980,0,945],
'Name':['Paul','Jean','Alicia','Jennifer'],})
print(df2)
df1['id'] = pd.to_numeric(df1['id'], errors='coerce')
df1["correct_id"] = (df1["id"].isin(df2["id"]) * df1["id"]).replace(0, "N/A")
print(df1)
我得到的结果是:
id Name correct_id
0 123.0 Paul 123.0
1 NaN Jean NaN
2 0.0 Alicia N/A
3 345.0 Jennifer N/A
预期输出:
id Name correct_id
0 123 Paul 123
1 c345 Jean N/A
2 0 Alicia 0
3 345 Jennifer N/A
我该怎么解决这个问题拜托
你可以试试这个:
new_df = df1.copy()
new_df.loc[:, "correct_id"] = df1.loc[
df1["id"].astype(str).isin(df2["id"].astype(str).values), "id"
]
new_df.fillna("N/A", inplace=True)
print(new_df)
# Outputs
id Name correct_id
0 123 Paul 123
1 c345 Jean N/A
2 0 Alicia 0
3 345 Jennifer N/A
我从表中的SQL查询中获取数据到我的熊猫数据框。数据如下所示: 现在我想从这两列中找出相关性和频率,并用Matplotlib将其可视化。我试过这样的方法: 现在,我如何以最简单的方式将这种关联可视化呢?
我有2个熊猫数据框 df1= df2= 我想使用df2“类”列中的可能值搜索df1中的“课程”列,然后返回适当的合计权重。 这是我目前所知道的 导致 我怎样才能得到这样的东西 任何帮助都将不胜感激。谢谢
我正在尝试连接到数据帧。它们看起来像这样 期望的最终目标是: 我一直试图使用pd.merge和。连接函数与on='外'设置不成功
基本上,它应该在步骤中找到指标为43且步骤=1的行,然后将该值放在新列中,在这种情况下,它将是“Gross value Added”。任何帮助都将非常感谢!
我需要将两个数据帧和一个接一个地连接起来,它们具有相同的行数(),而不考虑任何键。此函数类似于
假设熊猫数据帧如下所示: 如何将第三行(如row3)提取为pd数据帧?换句话说,row3.shape应该是(1,5),row3.head()应该是: