Python相当于Excel Countif
我曾经尝试过不同的解决方案,但到目前为止没有得到预期的结果 我有两个数据帧,Python相当于Excel Countif,python,python-3.x,pandas,Python,Python 3.x,Pandas,我曾经尝试过不同的解决方案,但到目前为止没有得到预期的结果 我有两个数据帧,df1和df2,它们都包含一个名为'fb rq id'的列 df2中的行数远远多于df1,我想检查df2['fb rq id']中的哪些值在df1['fb rq id']中,以及它在那里出现的次数,在df2上创建一列,列中的值在df1中的次数 如果您知道如何在df2.['fb rq id']是否在df1['fb rq id']中创建只包含二进制信息的列,这也会有所帮助 谢谢 这个怎么样 df2['count_from_d
df1
和df2
,它们都包含一个名为'fb rq id'
的列
df2
中的行数远远多于df1
,我想检查df2['fb rq id']
中的哪些值在df1['fb rq id']
中,以及它在那里出现的次数,在df2
上创建一列,列中的值在df1
中的次数
如果您知道如何在df2.['fb rq id']
是否在df1['fb rq id']
中创建只包含二进制信息的列,这也会有所帮助
谢谢 这个怎么样
df2['count_from_df1'] = [list(df1['fb rq id']).count(id)
if id in df1['fb rq id'] else 0
for id in df2['fb rq id']]
“如果您知道如何仅使用二进制信息创建列,无论df2。['fb rq id']是否在df1['fb rq id']中,这也会有所帮助。”这是
df2['id'].isin(df1['id'])
,如果您将.sum()
放在末尾,您将得到出现的总数。或者df1['rb rq id'].value\u counts()[df2['rb rq id']
在某些情况下可能更有效。@YakymPirozhenko这不会为df2中的值而不是df1中的值提高KeyError吗?@ayhan啊,你是right@YakymPirozhenko可能类似于df2['rb rq id'].map(df1['rb rq id'].value_counts())
?