gpt4 book ai didi

python - 如何在另一个数据框列 pandas 中检查一个数据框的列值多少次?

转载 作者:行者123 更新时间:2023-11-28 19:53:51 28 4
gpt4 key购买 nike

我有两个如下所示的数据框-

数据框 1-

df1_data = {'sym' :{0:'AAA',1:'BBB',2:'CCC',3:'DDD',4:'EEE',5:'FFF'}}
df = pd.DataFrame(df1_data)

数据框 2-

df2_data = {'sym1' :{0:'AAA',1:'BB',2:'XXX',3:'A',4:'CCC',5:'D',6:'EEE',7:'EEE',8:'FFF'}}
df2 = pd.DataFrame(df2_data)

我想检查数据框 1 中可用的 sym 列在数据框 2 的 sym1 列中有多少次?

预期结果 -

   sym,count
0 AAA,1
1 BBB,0
2 CCC,1
3 DDD,0
4 EEE,2
5 FFF,1

最佳答案

这是一种方法,通过 joindfdf2value_counts 上的 sym 索引(),然后填充NaN,为了查看,使用reset_index()

In [113]: df.set_index('sym').join(df2.sym1.value_counts()).fillna(0).reset_index()
Out[113]:
sym sym1
0 AAA 1.0
1 BBB 0.0
2 CCC 1.0
3 DDD 0.0
4 EEE 2.0
5 FFF 1.0

详细信息

In [114]: df2.sym1.value_counts()
Out[114]:
EEE 2
CCC 1
XXX 1
FFF 1
BB 1
D 1
AAA 1
A 1
Name: sym1, dtype: int64

或者,使用map

In [141]: df['count'] = df['sym'].map(df2.sym1.value_counts()).fillna(0)

In [142]: df
Out[142]:
sym count
0 AAA 1.0
1 BBB 0.0
2 CCC 1.0
3 DDD 0.0
4 EEE 2.0
5 FFF 1.0

关于python - 如何在另一个数据框列 pandas 中检查一个数据框的列值多少次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41957503/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com