最近做一个系列博客,跟着*学Pandas。
以 pandas作为关键词,在*中进行搜索,随后安照 votes 数目进行排序:
https://*.com/questions/tagged/pandas?sort=votes&pageSize=15
Get list from pandas DataFrame column headers - Pandas 获取列名
https://*.com/questions/19482970/get-list-from-pandas-dataframe-column-headers
获取DataFrame的列名是一个比较简单的操作,又以下几个方法:
- [column for column in df]
- df.columns.values 返回 array, 可以通过 tolist(), 或者 list(array) 转换为list,一般 tolist()效率更高。
- list(df)
- df.columns 返回Index,可以通过 tolist(), 或者 list(array) 转换为list
时间测评
import pandas as pd
from numpy.random import randint
df = pd.DataFrame(columns=list('abcdefghij'))
%timeit [column for column in df]
# 100000 loops, best of 3: 3.04 µs per loop
%timeit df.columns.values.tolist()
# 1000000 loops, best of 3: 1.27 µs per loop
%timeit list(df.columns.values)
# 1000000 loops, best of 3: 1.6 µs per loop
%timeit list(df)
# 100000 loops, best of 3: 3.82 µs per loop
%timeit list(df.columns)
# 100000 loops, best of 3: 2.24 µs per loop
%timeit df.columns.tolist()
# 1000000 loops, best of 3: 1.77 µs per loop
可以发现,df.columns.values 的方法速度最快,特别是 用 tolist() 转换为list的方式。