Python 我怎样才能把每一天转换成一个熊猫的日期栏呢
我有一个熊猫数据框,以每天为一列。我想将日期转换为单个数据列以执行一些分析。我试着在很多地方搜索,但没有一个地方提到这种情况。你能帮我做这个吗Python 我怎样才能把每一天转换成一个熊猫的日期栏呢,python,pandas,Python,Pandas,我有一个熊猫数据框,以每天为一列。我想将日期转换为单个数据列以执行一些分析。我试着在很多地方搜索,但没有一个地方提到这种情况。你能帮我做这个吗 Product_ID 1/22/2020 1/23/2020 1/24/2020 1/25/2020 1/26/2020 ABC 1 3 2 3 5 ABD 2 1 2
Product_ID 1/22/2020 1/23/2020 1/24/2020 1/25/2020 1/26/2020
ABC 1 3 2 3 5
ABD 2 1 2 2 5
ABC 0 1 0 3 4
ABD 1 1 1 3 8
ABC 3 0 0 3 4
ABE 6 2 2 1 5
我想要的输出是:
Date ABC ABD ABE
1/22/2020 4 3 6
1/23/2020 7 2 2
1/24/2020 2 3 2
1/25/2020 9 5 1
1/26/2020 13 13 5
它为重复的列添加数据
编辑:
对产品ID进行分组确实可以得到每个日期的每个产品的总和,但我仍然无法将日期提取为不同的“日期”列 如果初始数据帧如下所示:
data = {
'Product_ID': {0: 'ABC', 1: 'ABD', 2: 'ABC', 3: 'ABD', 4: 'ABC', 5: 'ABE'},
'1/22/2020': {0: 1, 1: 2, 2: 0, 3: 1, 4: 3, 5: 6},
'1/23/2020': {0: 3, 1: 1, 2: 1, 3: 1, 4: 0, 5: 2},
'1/24/2020': {0: 2, 1: 2, 2: 0, 3: 1, 4: 0, 5: 2},
'1/25/2020': {0: 3, 1: 2, 2: 3, 3: 3, 4: 3, 5: 1},
'1/26/2020': {0: 5, 1: 5, 2: 4, 3: 8, 4: 4, 5: 5}
}
df = pd.DataFrame(data)
print(df)
Product_ID 1/22/2020 1/23/2020 1/24/2020 1/25/2020 1/26/2020
0 ABC 1 3 2 3 5
1 ABD 2 1 2 2 5
2 ABC 0 1 0 3 4
3 ABD 1 1 1 3 8
4 ABC 3 0 0 3 4
5 ABE 6 2 2 1 5
正如@Quang Hoang在上面的评论中指出的那样,您可以对数据进行分组。并获取Date
列,以及Date
的旧索引列。如果需要,还可以重命名柱轴。代码如下:
df_new = df\
.groupby('Product_ID').sum().T\
.reset_index()\
.rename(columns={'index': 'Date'})\
.rename_axis(None, axis='columns')
print(df_new)
Date ABC ABD ABE
0 1/22/2020 4 3 6
1 1/23/2020 4 2 2
2 1/24/2020 2 3 2
3 1/25/2020 9 5 1
4 1/26/2020 13 13 5
df.groupby('Product_ID').sum().T
?谢谢你,Quang。它成功了。但是列名仍然不是日期。实际上,product_id列可以完全消失。我需要一个“日期”列名。我也在做实验的时候看到了rename\u axis
。但是我仍然不把'date'看作是df.columns索引(['ABC','ABD','ABE'],dtype='object',name='Product\u ID'列)