pandas 学习笔记
注:本篇博文是博主学习过程中保存的个人笔记,并非完善系统地教学内容,仅供参考。
0 、Python数据格式
Python中没有数组,只有列表lsit[1,2,3,4]、元组(1,2,3,4)、字典{‘1’:1,‘2’:2}。其中元组不能修改,列表效率较低。
所以Python的数组由numpy的array实现。
1、pandas数据检查
pandas的基础结构是series,类似一维数组和dataframe,类似二维数组,每一列是一个series
pandas读csv文件,使用read_csv(filename, names=names)
读csv文件,返回值是一个dataframe。
如果csv文件没有列名,需要手动使用name参数添加列名
raw_data = raw_data[['1', '2', '3', 'id']]
选取多列
data.iloc[:, 1:3]
取某几行几列
raw_data.head(10)
读取前10行数据
raw_data.shape
查看维度
raw_data.columns
查看列名
raw_data.dtypes
查看每一列的数据类型,int64,object==string
raw_data.describe()
查看统计信息,有count、mean、std、min、max等8个信息
raw_data.groupby('id').size()
统计数据分组分布
raw_data.skew()
查看数据的高斯分布
pd.value_counts
统计一列中每个数据出现的次数
pure_t_data.apply(pd.value_counts)
apply函数,对dataframe中每一列分别应用函数
pd.contat(data_1, data_2)
将两个dataframe上下拼接,是iloc的逆运算
data_new = data1.merge(data2,...)
类似与数据库连接,实现vlookup
2、pandas数据可视化
single_data.hist()
single_data.plot(kind='hist')
single_t_data.plot(kind='density')
生成密度图
plt.show()
生成直方图并显示
single_data = single_data.T
dataframe转置
3 、数据预处理(标准化)
数据标准化有以下4种raw_data.T
-
调整尺度(Rescale data)
仅能对array转换,且返回array transformer = MinMaxScaler(feature_range=(0, 1)) new_array = transformer.fit_transform(array)
-
正态化(Standaridize data)
-
标准化(Normalize data)
- 二值数据(Binarize data)
4、格式转换
dataframe --> array array = df.values
array --> dataframe new_data = pd.DataFrame(new_array)
转置 pure_t_data = pure_data.T
5、保存
读取csv pd.read_csv(data_csv)
保存csv new_data.to_csv('./new_data.csv')