我如何包括标头

  • 本文关键字:何包括 python pandas
  • 更新时间 :
  • 英文 :


在pandas中,我已经在this df。

df=
     data1 data2 
A      4    3
B      4    3
C      5    3
D      1    9

我生成了这个新列(没有标题(

new_column= df.loc[D]/df.loc[A]
new_column=
data1   0.25
data2   3

我试图通过:

添加标题"结果"
new_column.rename(columns={0 :'results'}, inplace=True)
new_column.rename(columns={'0' :'results'}, inplace=True)
new_column['results']= df.loc[D]/df.loc[A]

print (new_column)

从完成的研究中,似乎没有任何作用/适应:

将列标题添加到新的Pandas DataFrame

结果是没有任何标头的。我如何包括标题?

我正在寻找的是:

       results
data1   0.25
data2   3

简而言之

new_columnpd.Series,它没有"列",但是它确实具有 name

>>> new_column = df.loc['D']/df.loc['A']
>>> new_column
data1    0.25
data2    3.00
dtype: float64

默认情况下,如果以这种方式构造它,它没有一个,而是:

>>> new_column.rename('results', inplace=True)
data1    0.25
data2    3.00
Name: results, dtype: float64

您想要一个pandas.DataFrame,因此您可以代替以上:

>>> new_column = (df.loc['D']/df.loc['A']).to_frame()
>>> new_column
          0
data1  0.25
data2  3.00

现在您的尝试工作:

>>> new_column.rename(columns={0 :'results'}, inplace=True)
>>> new_column
       results
data1     0.25
data2     3.00
>>> new_column = pd.DataFrame((df.loc['D']/df.loc['A']), columns=['results'])
>>> new_column
       results
data1     0.25
data2     3.00

编辑以添加@maxu

的建议

或最简单的方法是maxu的建议:

>>> (df.loc['D']/df.loc['A']).to_frame('results')
       results
data1     0.25
data2     3.00

我正在通过手机进行编辑,所以请原谅格式化,但这会这样做吗?

new = pd.DataFrame({'results':df.loc[D]/df.loc[A]}) 

最新更新