这是很久之前在Kaggle上学的,写了一些笔记,但还少一篇比较全面的总结,这篇文章相当于补上了。
DataFrame
DataFrame
是pandas
里面最基本的数据结构和操作单元,pandas
所有的操作都是围绕它来进行的。DataFrame
可以理解为一个类似于Excel的多维的数据表,可以存储并操作表格型的数据。
df.index
代表的是行编号df.columns
代表的是列编号
新建DataFrame
新建 DataFrame的方式一般有以下几种:
通过一维的
list
或者numpy.ndarrys
创建python# 一维 data = [1,2,3,4,5] df = pd.DataFrame(data) #输出是一列 # 二维 data = [['Alex',10],['Bob',12],['Clarke',13]] df = pd.DataFrame(data,columns=['Name','Age']) #可以指定列名
通过字典创建
python# 两列元素的长度需要相同 data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]} df = pd.DataFrame(data) # 这里默认的 index 就是 range(n),n 是列表的长度 # 可以指定行的名称 df = pd.DataFrame(data, index=['rank1','rank2','rank3','rank4'])
通过Series
pd.Series
可以表示dataframe
中的一列,可以将pd.Series
组成一个字典或者列表再初始化得到一个dataframe
pythond = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']), 'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])} # one 列的最后一行会补全为 NaN df = pd.DataFrame(d)
常用属性
dataframe
有很多非常有用的属性,可以快速地分析一个表格数据,这里分别列举出来
python
df1.describe() # 计算数据中的数值型的一些常见统计信息(以列为单位)
df1.index # 返回 行索引
df1.columns # 返回列索引
df1.values # 返回所有的值,以array的形式
df1.T #返回 转置结果
常用方法
使用panda
提供的方法可以非常快速地对表格进行操作
假设我们有这样一个表格
python
date_index=pd.date_range('20211020', periods=5)
df1 = pd.DataFrame(np.random.randn(5, 3), index=date_index, columns=['a', 'b', 'c'])
按照列方向进行排序
python
df1.sort_index(axis=1, ascending=False)
按照某个列的值进行排序
python
df1.sort_values(by='a', ascending=False)
数据访问
对表中的某个元素进行访问也是一个常用的操作,pandas
提供了多种方式完成这个操作
df.loc
以标签的形式访问df.iloc
使用整数索引进行访问