pandas Day1 知识归纳笔记
2019-03-14 本文已影响215人
Chad你要加油
pandas 读取文件、DataFrame和Series知识点归纳
介绍两个科学计算中最为重要的两个模块,一个是 pandas,一个是 nump。任何关于数据分析的模块都不能少了这两个。
主要用途
- 数据分析
- 机器学习
- 深度学习
为什么使用numpy 和 pandas
-
运算速度快:numpy 和 pandas 都是采用 C 语言编写, pandas 又是基于 numpy, 是 numpy 的升级版本。
-
消耗资源少:采用的是矩阵运算,会比 python 自带的字典或者列表快好多。
pandas 导出导入
要点
pandas 可以读取与存储的资料格式有很多种,像csv、excel、json、html等,可去官方文档看看
pandasimoprt pandas as pd # 导入(加载)模块
# 读取CSV read_csv
data = pd.read_csv('/data/NBAplayer.csv',sep='\t,headers=None)
# 打印data
print(data)
这里简要说一下我用过的几个参数:
第一个参数filename——对应文件名;
header——表头,默认不为空(以第一行作表头,),取None,表明全数据,无表头;
prefix——没有列标题时,添加前缀“X”,X0、X1···;
sep——str, default ‘,’ (指定分隔符。如果不指定参数,则会尝试使用逗号分隔。分隔符长于一个字符并且不是‘\s+’,将使用python的语法分析器。并且忽略数据中的逗号。正则表达式例子:’\r\t’);
usecols——array-like, default None (返回一个数据子集,该列表中的值必须可以对应到文件中的位置(数字可以对应到指定的列)或者是字符传为文件中的列名。例如:usecols有效参数可能是 [0,1,2]或者是 [‘foo’, ‘bar’, ‘baz’]。使用这个参数可以加快加载速度并降低内存消耗);
names—— array-like, default None (用于结果的列名列表,如果数据文件中没有列标题行,就需要执行header=None。默认列表中不能出现重复,除非设定参数mangle_dupe_cols=True)
nrows : int, default None (需要读取的行数(从文件头开始算起))。
将数据存取成其他格式,如:pickle
data.to_pickle('student.pickle')
主要两个数据结构: DataFrame 与 Series
dataframe 是二维结构化数据,series是一对数据。
dataframe 有一个或者多个series组成,dataframe的一行或者一列就是一个series
Serise
import pandas as pd
import numpy as np
s = pd.Series([1,3,6,np.nan,44,1])
print(s)
"""
0 1.0
1 3.0
2 6.0
3 NaN
4 44.0
5 1.0
dtype: float64
"""
Series的字符串表现形式为:索引在左边,值在右边。由于我们没有为数据指定索引。于是会自动创建一个0到N-1(N为长度)的整数型索引
DataFrame
dates = pd.date_range('20190101',periods=6)
df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=['a','b','c','d'])
print(df)
"""
a b c d
2016-01-01 -0.253065 -2.071051 -0.640515 0.613663
2016-01-02 -1.147178 1.532470 0.989255 -0.499761
2016-01-03 1.221656 -2.390171 1.862914 0.778070
2016-01-04 1.473877 -0.046419 0.610046 0.204672
2016-01-05 -1.584752 -0.700592 1.487264 -1.778293
2016-01-06 0.633675 -1.414157 -0.277066 -0.442545
"""
DataFrame是一个表格型的数据结构,它包含有一组有序的列,每列可以是不同的值类型(数值,字符串,布尔值等)。DataFrame既有行索引也有列索引, 它可以被看做由Series组成的大字典。
pandas 基本操作可点击看数据蛙的博客
可加公众号【数据蛙DataFrog】,我们一起学习交流