从Pandas DataFrame列标题获取列表

28 浏览
0 Comments

从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日
0
0 Comments

有一个内置方法是最有效的:

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)

0
0 Comments

您可以通过以下方式将值作为列表获取:

list(my_dataframe.columns.values)

此外,您可以简单地使用(如Ed Chum的答案所示):

list(my_dataframe)

0