数据分析处理库- Pandas基础-上篇
1 pandas简介
- 高性能,易使用的数据分析工具
- 可以做什么?
- 处理多种类型的数据
- SQL.Excel,等类似含有异构列的数据
- 有序或者无序的事件序列数据…
- 最主要的数据结构
- series , DataFrame,记忆Numpy开发,,可以与其他的第三方科学计算库完美集成
- 时间序列
1.1优势
- 开源免费
- 自动处理浮点数与非浮点数当中的缺失数据,用NaN表示
- 大小可变,可以轻松的插入删除DataFrame等多维对象的列
- 强大,灵活的分组功能.
- 基于智能标签,对大型数据进行切片,花式索引,子集划分等操作
- 直观的合并,连接数据集
- 成熟的IO工具,
- 速度很快,底层算法经过Cython优化,pandas基础使用
1.2pandas导入
import numpy as np
import pandas as pd
2 pandas的数据结构
2.1 series数据结构
- 由一组数据和数据标签组成,数据标签具有索引的作用,它区分numpy和pandas的一个重要特征
- pd.Series(data,index)创建
a={
"name":'alex,','age':24,'school':'陕科大'}
pd.Series(a)
name alex,
age 24
school 陕科大
dtype: object
2.2 DataFrame 数据结构
多种数据结构的列构成二维数据结构,类似Excel , sql,
2.3 如何创建
info ={
"name": ['alex ','alpha','beta'],"age" : [22,23,25],
"ID":[0,1,2]
}
pd.DataFrame(info)
|
name |
age |
ID |
0 |
alex |
22 |
0 |
1 |
alpha |
23 |
1 |
2 |
beta |
25 |
2 |
indexs = pd.date_range('20220101','20220131')
df=pd.DataFrame(np.random.randn(31,4),columns=list('ABCD'))
df.head()
|
A |
B |
C |
D |
0 |
-0.576369 |
-1.294615 |
1.598652 |
-0.847771 |
1 |
0.389292 |
1.628010 |
-0.589410 |
2.164811 |
2 |
-0.186368 |
-0.229113 |
-0.441330 |
0.113975 |
3 |
-0.505509 |
-0.124371 |
-1.286568 |
0.839791 |
4 |
0.553001 |
-0.327689 |
1.072240 |
-2.804546 |
2.4两种数据格式的交互
indexs = pd.date_range('20220101','20220131')
df = pd.DataFrame(np.random.randn(31,4),index=indexs,columns=list('ABCD'))
type(df['A'])
pandas.core.series.Series
type(df[['A','B']])
pandas.core.frame.DataFrame
3 数据的读取IO操作
- pd.read_csv()
- filepath_or_buffer :文件路径名
- sep 分割符
- header=‘infer’:指定第几行作为列名
- names :当文件没有列名,可以指定列名
- dtype :指定数据类型
- nrows :读取的行数
- encoding:文件的编码方式
data=pd.read_csv('./data/beijing_tianqi_2018.csv ')
data.head()
|
ymd |
bWendu |
yWendu |
tianqi |
fengxiang |
fengli |
aqi |
aqiInfo |
aqiLevel |
0 |
2018-01-01 |
3℃ |
-6℃ |
晴~多云 |
东北风 |
1-2级 |
59 |
良 |
2 |
1 |
2018-01-02 |
2℃ |