获取DataFrame的列名是一个比较简单的操作,又以下几个方法:
1.[column for column in df]
2.df.columns.values 返回 array
3.list(df)
4.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]
%timeit list(df.columns.values)
%timeit list(df)
%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
在工作中遇到需要一个情况:需要读取xls文件的两个列组成一个列表镶嵌字典的数据供后续使用。使用了xlrd只能按列的索引来读取,但是xls文件每次调用都会发生变化,其中不变的双龙图斑我们要取的那两列的列名一直没变,就是表格的第一行内容会变多或变少,但是那两列一直都在,只是索引位置发生了变化。这个时候就用上pandas了。在这里顺便记录pandas读取指定列的其他情形。
data = pd.read_excel('客户信息.xlsx')
# 获取Pandas读取Excel后所有列名的几种方法
print(list(data)) # 0. 直接使用 list 关键字,返回一个list
columns_name1 = [column for column in data] # 1.链表推倒式_获取Pandas列名的几种
Edward.Fu
今日是端午4天假期的最后一天,自己的2台电脑一台在处理数据,另一台电源适配器也坏掉了。感觉闲来无事,在此就简单聊聊 numpy 和 pandas 的各种冷知识、小技巧和疑难杂症。
个人觉得关于 numpy 和 pandas 的坑太大,不好填,在此就不系统的介绍了,各位可以买些这块的资料先自己看看。
这里就着重聊聊一些使用过程中常用到但教科书里找不着的问题,省的各位朋友还跑去stackoverflow找答案。
问题一、dataframe里面.values,.iloc,.ix,.loc的区别
关于数据集的列名,通常建议最好使用小写字母,删除特殊字符,并用下划线替换空格。有时数据集的列名可能不是很规范,需要整理修改理列名。获取DataFrame的列名获取DataFrame的列名,可以使用DataFrame.columns属性。movies_df.columns输出Index(['Rank', 'Genre', 'Description', 'Director', 'Actors', 'Y...
主要用到的三个函数:loc,iloc和ix,loc函数按标签值进行提取,iloc按位置进行提取,ix可以同时按标签和位置进行提取。要在pandas.DataFrame中的任何位置检索或更改数据,可以使用at,iat,loc,iloc。# 说明:需要先用对应列的列名称“姓名”获取对应列对象,然后用.values将对象转变为列表。使用与、或、非三个条件配合大于、小于、等于对数据进行筛选,并进行计数和求和。#选取 属性“a” 中 大于1的 “b”列。"""导出为excel或csv文件"""# 得到的是一个列表。
可以使用pandas的read_excel函数读取Excel文件,并将其转换为pandas数据框,然后通过数据框的columns属性获取列名。
举个例子:
import pandas as pd
# 读取Excel文件
df = pd.read_excel('file.xlsx')
# 获取列名
column_names = df.columns
print(column_names)