[英]How to replace columns name in pandas dataframe with a list?
I have a very wide dataframe with over 1000 columns with each column name being a number1-1000 in sequential order (so the 2nd column is 2, third column is 3 etc).我有一个非常宽的数据框,其中包含超过 1000 列,每个列名按顺序排列为数字 1-1000(因此第二列是 2,第三列是 3,依此类推)。 I have a list of column names, that are positional, meaning if I can take my column list in the order I have it, and just replace entire index row of the dataframe with it, I'd have exactly what I need.我有一个列名列表,它们是位置的,这意味着如果我可以按照我拥有的顺序获取我的列列表,并且只需用它替换数据框的整个索引行,我就会得到我需要的东西。
Is this possible?这可能吗?
IIUC, you need: IIUC,您需要:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.rand(3,3))
df.columns = ['Col A', 'Col B', 'Col C']
print(df)
Result:结果:
Col A Col B Col C
0 0.497856 0.373009 0.719566
1 0.126019 0.823805 0.570156
2 0.588741 0.405167 0.557865
Alternative solution:替代解决方案:
df.rename(columns={0: 'Col A', 1: 'Col B', 2: 'Col C'}, inplace=True)
如果df.columns = pd.Index(list_of_names)
不起作用,您可以使用:
df = df.rename(dict(zip(df.columns, list_of_names)), axis=1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.