我正在寻找一种优雅的方式来更改DataFrame.
DataFrame
播放数据…
import pandas as pd d = { 'one': [1, 2, 3, 4, 5], 'two': [9, 8, 7, 6, 5], 'three': ['a', 'b', 'c', 'd', 'e'] } df = pd.DataFrame(d)
迄今为止我发现的最优雅的解决方案......
names = df.columns.tolist() names[names.index('two')] = 'new_name' df.columns = names
我希望有一个简单的单线......这次尝试失败了......
df.columns[df.columns.tolist().index('one')] = 'another_name'
感激地收到任何提示。
一个班轮确实存在:
In [27]: df=df.rename(columns = {'two':'new_name'}) In [28]: df Out[28]: one three new_name 0 1 a 9 1 2 b 8 2 3 c 7 3 4 d 6 4 5 e 5
以下是该rename方法的文档字符串。
rename
Definition: df.rename(self, index=None, columns=None, copy=True, inplace=False) Docstring: Alter index and / or columns using input function or functions. Function / dict values must be unique (1-to-1). Labels not contained in a dict / Series will be left as-is. Parameters ---------- index : dict-like or function, optional Transformation to apply to index values columns : dict-like or function, optional Transformation to apply to column values copy : boolean, default True Also copy underlying data inplace : boolean, default False Whether to return a new DataFrame. If True then value of copy is ignored. See also -------- Series.rename Returns ------- renamed : DataFrame (new object)