簡體   English   中英

Pandas:在不知道列名的情況下重命名單個DataFrame列

[英]Pandas: Rename single DataFrame column without knowing column name

我知道我可以重命名單個pandas.DataFrame列:

drugInfo.rename(columns = {'col_1': 'col_1_new_name'}, inplace = True)

但是我想在不知道名稱的情況下重命名一個列(基於它的索引 - 雖然我知道字典沒有它)。 我想像這樣重命名第1列:

drugInfo.rename(columns = {1: 'col_1_new_name'}, inplace = True)

但是在DataFrame.columns dict中沒有'1'條目,因此不進行重命名。 我怎么能實現這個目標?

應該管用:

drugInfo.rename(columns = {list(drugInfo)[1]: 'col_1_new_name'}, inplace = True)

例:

In [18]:

df = pd.DataFrame({'a':randn(5), 'b':randn(5), 'c':randn(5)})
df
Out[18]:
          a         b         c
0 -1.429509 -0.652116  0.515545
1  0.563148 -0.536554 -1.316155
2  1.310768 -3.041681 -0.704776
3 -1.403204  1.083727 -0.117787
4 -0.040952  0.108155 -0.092292
In [19]:

df.rename(columns={list(df)[1]:'col1_new_name'}, inplace=True)
df
Out[19]:
          a  col1_new_name         c
0 -1.429509      -0.652116  0.515545
1  0.563148      -0.536554 -1.316155
2  1.310768      -3.041681 -0.704776
3 -1.403204       1.083727 -0.117787
4 -0.040952       0.108155 -0.092292

索引到dataframe columns屬性可能更具可讀性:

df.rename(columns={df.columns[1]:'col1_new_name'}, inplace=True)

所以對你來說:

drugInfo.rename(columns = {drugInfo.columns[1]: 'col_1_new_name'}, inplace = True)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM