python - "Split"数据帧按月

标签 python pandas dataframe

我有一个有 5 列的数据框。其中之一是“天”列,其中包含每个寄存器的日期。它有很多日期,从几年前到今天。

例如 (MM/DD/YYYY) 格式:

c1 c2 c3 day        c4
a  b  c  01-01-2018 d
e  f  g  01-02-2018 h
... more data from january 2018, then starting another month
i  j  k  02-01-2018 l

我需要做什么:
我需要“拆分”/“选择”每个月的数据并将其上传到服务器中。我不知道该怎么做。我想像按月拆分数据框一样。我怎样才能做到这一点?如果问题不清楚,我可以再举一个例子。

谢谢你。

最佳答案

使用 groupbyGrouper :

# sample data
df = pd.DataFrame(pd.date_range('2018-01-01', '2018-03-01'), columns=['Date'])
# groupby your key and freq
g = df.groupby(pd.Grouper(key='Date', freq='M'))
# groups to a list of dataframes with list comprehension
dfs = [group for _,group in g]

您可以遍历每个月的组列表:
dfs[0]

       Date
0 2018-01-01
1 2018-01-02
2 2018-01-03
3 2018-01-04
4 2018-01-05

关于python - "Split"数据帧按月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55268578/

相关文章:

python - Pandas 使用单元格值作为字典键返回字典值

python - 使用python操作excel 2007文件

python - 我如何将一个 DataFrame 与其他 DataFrame 的列进行比较?

python - pandas- 列中每个唯一字符串/组的新计算行

python - 使用 python 日期时间返回任意年份的特定日期、月份

r - 对多个向量应用 for 循环

python - 从 C API 调用 str.format_map

python混淆: dict. pop

python - UE4.27中的景观创建

使用 r 中的数据框替换列名