【发布时间】:2020-05-12 02:23:01
【问题描述】:
我有 2 个数据框 data2 和 data3:
data0 = {
'state': ['CA', 'CA', 'OH'],
'year': [2012, 2014, 2010],
's': [2000, 4000, 5000]
}
data1=pd.DataFrame(data0)
data2 = {
'state': ['CA', 'CA', 'OH'],
'year': [2012, 2014, 2010],
's': [2000, 4000, None]
}
data3=pd.DataFrame(data2)
首先我想按州和年份计算 s:
data11 = data1.groupby(['state', 'year'])['s'].agg({'result1': 'count'})
data33 = data3.groupby(['state', 'year'])['s'].agg({'result2': 'count'})
问题是如何写一个陈述
i) 如果 data11 中的每个行数(result1 列)都等于 data33 中的每个行数(result2),则打印“所有行匹配”(此处不显示匹配行)
ii) 否则打印“以下行失败”(并显示 data11 和 data33 中失败的行)
谢谢!
【问题讨论】:
-
你有什么尝试吗?你读过 Pandas 文档吗?
标签: python pandas dataframe if-statement match