Python -data.to_csv输出格式

lyfkaqu1  于 2023-03-27  发布在  Python
关注(0)|答案(1)|浏览(150)

从具有以下格式的csv文件:

Date,Data
01-01-01,111
02-02-02,222
03-03-03,333

我使用以下代码计算月平均值:

data = pd.read_csv("input.csv")
data['Month'] = pd.DatetimeIndex(data.reset_index()['Date']).month
mean_data = data.groupby('Month').mean()

然后使用以下命令输出一个csv文件:

mean_data.to_csv("test.csv")

它工作正常,并给予以下输出:

Month,Data
01,01
02,02
03,03
04,04
...

但现在我想知道有多少数据已经包括在每月平均计算。为此,我改变了:

mean_data = data.groupby('Month').mean()

签署人:

mean_data = data.groupby(['Month']).agg(['mean', 'count'])

但是问题来了。当我想输出csv时,我现在有一个奇怪的格式如下:

Data,Data,
      mean,count,
Month,
01,     01,8,
02,     02,9,
03,     03,7,
04,     04,5,

这不是很方便。相反,我希望有以下输出:

Month,Mean,Count
01,01,8
02,02,9
03,03,7
04,04,5

有谁知道如何做到这一点吗?

7d7tgy0s

7d7tgy0s1#

需要在groupby后指定列:

#convert first column to datetime
data = pd.read_csv("input.csv", parse_dates=[0])
df['Month'] = df['Date'].dt.month
mean_data = data.groupby('Month')['Data'].agg(['mean', 'count'])

应予以简化:

mean_data = data.groupby(df['Date'].dt.month)['Data'].agg(['mean', 'count'])

相关问题