通过将列转换为包含在单列中的标签来重塑数据帧

2024-04-29 10:48:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将df打印到csv,以便稍后导出到一个表可视化。我可以使用列的标签在Pandas中做我想做的事情,但是,为了方便地在Tableau中工作,我需要以某种格式呈现数据。你知道吗

这是我的名字:

    company   size   year  Australia  Canada  Caribbean  
1      USAA  315.0   1997      200.0   115.0          0          
2     PIMCO  165.0   1997      165.0     0.0          0     
3  Swiss Re   18.0   1997        5.0    10.0        3.0 

我想重新塑造它,使它看起来像这样或多或少:

    company   size   year   value      value 
1      USAA  315.0   1997   Australia  200.0        
2      USAA  315.0   1997   Canada     115.0   
3     PIMCO  165.0   1997   Australia  165.0           
4  Swiss Re   18.0   1997   Australia    5.0
5  Swiss Re   18.0   1997   Canada      10.0       
6  Swiss Re   18.0   1997   Caribbean    3.0

有没有一种方法可以在熊猫身上轻松做到这一点,而不需要创建多个groupby?你知道吗


Tags: csvredfsizevalue可视化标签year
1条回答
网友
1楼 · 发布于 2024-04-29 10:48:36

我也遇到了类似的问题,在尝试了多种方法之后,这是我发现的最具Python效应的方法:

df = pd.melt(df, id_vars=['company', 'size', 'year'])
df = df[df.value != 0]

希望有帮助。你知道吗

相关问题 更多 >