【发布时间】:2021-06-26 22:08:10
【问题描述】:
我有一个数据框,其中索引为datetimeindex,每一行都是几年来的每一天。我需要按月对数据框重新采样,其中两个浮点列相加,但字符串列是该月内的所有唯一值。我可以对单个列进行重新采样,但我不知道如何对所有内容进行重新采样,或者如果我一次只做一个,如何将它们重新组合在一起。
对于我正在尝试的花车:
# go through the column list
for col in col_list:
# process all run time columns for month
if "float" in str(col):
# resample for one month and sum
df[col] = df[col].resample('M').sum()
# rename the column
df.rename(columns={col: col + " MONTHLY"}, inplace=True)
对于字符串:
elif "string" in str(col):
# get all the unique jobs run during the month
df[col] = df[col].groupby(pd.Grouper(freq='M')).unique()
df.rename(columns={col: col + " MONTHLY"}, inplace=True)
这些导致每月数据被插入到数据框中,但每天仍然存在,而且很难找到,而不是我需要的。
一些示例数据:
float_1 float_2 string_1 string_2
12/30/2019 1 2 a a
12/31/2019 1 3 a b
1/1/2020 2 4 a c
1/2/2020 3 5 b d
预期的输出是:
12/2019 2 5 a a, b
1/2020 5 9 a, b c, d
不确定是否重要,但真实数据确实在整个数据中随机出现 NaN。
【问题讨论】:
标签: python pandas datetimeindex