python - 使用 pandas 转换 DataFrame

标签 python pandas

我想使用 python pandas 转换我的 DataFrame :

l1=['andre','Marc']
l2=[5,12]
l3=[3,64]

dfWeeks=pd.DataFrame(list(zip(l1,l2,l3)), columns=['Name','22-2019','23-2019'])
dfWeeks

看起来像这样:

Name 22-2019  23-2019
andre  5        3
Marc   12       64

我想改造它并拥有:

Name  Number  Dates
andre 5       22-2019
andre 3       23-2019
Marc  12      22-2019   
Marc  64      23-2019   

我尝试过透视表或分组依据,但我无法做到。

提前致谢。

最佳答案

尝试使用pd.melt() ,更容易:

df.melt('Name',var_name='Dates',value_name='Number')

    Name    Dates  Number
0  andre  22-2019       5
1   Marc  22-2019      12
2  andre  23-2019       3
3   Marc  23-2019      64

或者:

m=df.set_index('Name').stack().reset_index()
m.columns=['Name','Date','Number']
print(m)

    Name     Date  Number
0  andre  22-2019       5
1  andre  23-2019       3
2   Marc  22-2019      12
3   Marc  23-2019      64

关于python - 使用 pandas 转换 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55297712/

相关文章:

python - django-filter 上的日期范围

python - 按计数聚合,将所有列保留在 Pandas 中

python - Pandas DataFrame 类如列命名

python - Pandas 分组

python - 具有相同标签的多个备选方案,只有最后一个获得分配给它的任何东西

python - 在matplotlib中,如何在不调整其他子图大小的情况下将表添加到子图

python - 从 TAI 修改儒略日转换为日期时间

python - Pandas 中的高级数据透视表

python - 如何使用 pandas python 找到数据框坐标中的最低左值和下值?

python - Protocol Buffer导入解析