Pandas如何转换数据并添加列nam

2024-09-29 17:19:06 发布

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

在pandaps中,我要转换数据并命名列。在

我目前的数据是:

    alpha   bravo    charlie
0   public  private  public
1   prodA   prodB    prodB
2   100     200      300

在对列进行转置和重命名后,输出为:

^{pr2}$

我怎样才能获得预期的输出,比如:

company category product price
alpha   public   prodA   100
bravo   private  prodB   200
charlie public   prodB   300

Tags: 数据alphaprivatepublicproduct命名company重命名
3条回答

您可以重命名_轴并重置_索引:

(
    df.T
    .set_axis(["category", "product", "price"], axis=1, inplace=False)
    .rename_axis('company',axis=0)
    .reset_index()
)

Out[124]: 
   company category product price
0    alpha   public   prodA   100
1    bravo  private   prodB   200
2  charlie   public   prodB   300

如果您希望将公司作为索引:

^{pr2}$

首先通过df.index.set_names设置索引名,然后应用reset_index

df.index = df.index.set_names('company')
df.columns = ['category', 'product', 'price']
df = df.reset_index()

#    company category product price
# 0    alpha   public   prodA   100
# 1    bravo  private   prodB   200
# 2  charlie   public   prodB   300

只需先设置索引,然后转换数据帧

df.index = pd.Index(['category','product','price'],name='company')
df.T

company category product price
alpha     public   prodA   100
bravo    private   prodB   200
charlie   public   prodB   300

相关问题 更多 >

    热门问题