从Pandas DataFrame列标题获取列表
从Pandas DataFrame列标题获取列表
我想从Pandas DataFrame中获取列标题列表。DataFrame将来自用户输入,因此我不知道会有多少列或它们将被称为什么。
例如,如果我得到像这样的DataFrame:
>>> my_dataframe y gdp cap 0 1 2 5 1 2 3 9 2 8 7 2 3 3 4 7 4 6 7 7 5 4 8 3 6 8 2 8 7 9 9 10 8 6 6 4 9 10 10 7
我将得到以下列表:
>>> header_list ['y', 'gdp', 'cap']
admin 更改状态以发布 2023年5月24日
有一个内置方法是最有效的:
my_dataframe.columns.values.tolist()
.columns
返回一个Index
,.columns.values
返回一个数组,而这个数组有一个辅助函数.tolist
,可以返回一个列表。
如果性能对您不是很重要,那么Index
对象定义了一个.tolist()
方法,您可以直接调用它:
my_dataframe.columns.tolist()
性能差异是显而易见的:
%timeit df.columns.tolist() 16.7 µs ± 317 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each) %timeit df.columns.values.tolist() 1.24 µs ± 12.3 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
对于那些讨厌输入的人,您可以直接在df
上调用list
:
list(df)