Pandas是Python第三方库,提供高性能易用数据类型和分析工具,其经常使用的操作如下:
1、数据的读取与基本操作
pandas库的导入方式一般为
import pandas as pd
导入CSV或者xlsx文件:
data = pd.read_csv('文件路径+name.csv') #如果把代码和数据放入同一文件夹中,只需要输入文件名即可。
data = pd.read_excel('文件路径name.xlsx')
例如:
data=pd.read_csv('C:/Users/18256/Desktop/data set/dianying.csv') #这是我所储存的路径
维度的查看
data.shape
每一列数据的格式
data.dtypes()
查看缺失值
data.isnull()
查看各缺失值的个数
data.isnull().sum()
查看某A列中所有存在的值
data['A'].unique()
查看前10行数据、后10行数据
data.head() #前10行数据
data.tail() #后10 行数据
查看各数据的参数
data.describe()
count–计数
mean–平均值
std–标准差
min–最小值
max–最大值
25%–第一个四分位数
50%–中位数
75%–第三个四分位数
2、数据表的创建
下面就是一个简单的DataFrame的创建
import pandas as pd
import numpy as np
data= pd.DataFrame(np.random.randn(5, 3), index=[1,2,3,4,5],columns=['one', 'two', 'three'])#创建一个数据表格
data['four'] = 'bar'#加入新的一列
data['five'] = 1 #加入新的一列
data['six'] = 'ball'#加入新一列
print(data)
创建的数据表如下:
3、数据的清洗
用数字0填充空值
data.fillna(value=0)
使用列A的均值对NA进行填充
data['A'].fillna(data['A'].mean())
大小写转换
data['A']=data['A'].str.lower()
4、数据的读取
数据的提取主要用到的三个函数:loc,iloc和ix,loc函数按标签值进行提取,iloc按位置进行提取,ix可以同时按标签和位置进行提取。
单行数据的提取
data.iloc[0] #表示取第0行数据
data.loc['A'] #表示取第A行数据
#loc与iloc的区别:loc是完全基于标签位置的索引器,其后面加的是行标签。
iloc完全基于行号的索引器,所谓行号就是第0、1、2行。
区域行数值的提取
data.iloc[0:3] #所提取的数据为第0,1,2行
单独行、列数据的提取
data.iloc[[0,3]] #表示提取0,4行所有列的数据
data.iloc[[0,3],[0,4]] #表示提取0,3行0,4列的数据
单列的读取
data['A'] #读取第A列的数据
多列的读取
colum=['A','B'] #先组成一个list结构
print(data[colum]) #读取A B列
使用iloc按位置区域提取数据
data.iloc[:3,:2] #冒号前后的数字不再是索引的标签名称,而是数据所在的位置,从0开始,前三行,前两列
5、数据预处理
按行索引进行排序
data.sort_index() #这里默认为ascending=False,从小往大排,可以通过修改ascending=Ture来改为从大往小排
按值排序
data.sort_values()
判断A列的值是否为B
data['A'].isin(['B'])
判断A列里是否包含B和C,然后将符合条件的数据提取出来
data.loc[data['A'].isin(['B','C'])]
使用query函数进行筛选
data.query('A == ["B", "C"]')
对筛选后的结果按D进行求和
data.query(‘A == [“B”, “C”]’).D.sum()
6、数据统计与分析
数据采样
data.sample(n=2)
手动设置采样权重
weights = [0, 0, 0, 0, 0.5, 0.5]
data.sample(n=2, weights=weights)
采样后不放回
data.sample(n=3, replace=False)
采样后放回
data.sample(n=3, replace=True)
数据表的相关性分析
data.corr()