我在这里寻求有关如何在Python/Panda中执行此操作的帮助:
我希望获得原始数据(如下),并通过一组多个COL(州、县和日期)找到多个COL(cnt_a和cnt_b)的每日差异
我一直在尝试不同的方法,但我似乎无法通过“检查重复”的问题
df.cnt_a = df.sort_values(['state','county','date']).groupby['state','county','date','cnt_a'].diff(-1)
尝试将其拆分以一次修复一件事情:
df1 = df.sort_values(['state','county','date'])
df2 = df1.groupby(['state','county'])['cnt_a'].diff()
原始数据=&燃气轮机;df
date county state cnt_a cnt_b
2020-06-13 Bergen New Jersey 308 11
2020-06-14 Bergen New Jersey 308 11
2020-06-15 Bergen New Jersey 320 15
2020-06-12 Union New Jersey 100 3
2020-06-13 Union New Jersey 130 4
2020-06-14 Union New Jersey 150 5
2020-06-12 Bronx New York 200 100
2020-06-13 Bronx New York 210 200
想要的输出
date county state cnt_a cnt_b daydiff_a daydiff_b
2020-06-13 Bergen New Jersey 308 11 0 0
2020-06-14 Bergen New Jersey 308 11 0 0
2020-06-15 Bergen New Jersey 320 15 12 4
2020-06-12 Union New Jersey 100 3 0 0
2020-06-13 Union New Jersey 130 4 30 1
2020-06-14 Union New Jersey 150 5 20 1
2020-06-12 Bronx New York 200 100 0 0
2020-06-13 Bronx New York 210 200 10 100
df
进行排序很重要,因为df.groupby
将被排序。如果df
未首先排序,则.groupby
中的联接列的顺序将与df
的顺序不同。df
,按'state'
、'country'
和'date'
的顺序,但是.groupby
中的'date'
列被忽略李>.groupby
在'state'
和'country'
上,并将.diff
聚合到所需的列李>fillna
和.join
{rsuffix
,或使用.rename
更改列标题李>相关问题 更多 >
编程相关推荐