Python之Pandas模块⼊门讲解及案例
Python之Pandas模块讲解及案例
⼀、安装Pandas
pip install Pandas
⼆、简介
Pandas是⼀个开源的,BSD许可的库,为Python (opens new window)编程语⾔提供⾼性能,易于使⽤的数据结构和数据分析⼯具。
Pandas是NumFOCUS (opens new window)赞助的项⽬。这将有助于确保Pandas成为世界级开源项⽬的成功,并有可能捐赠 (opens new window)给该项⽬。
另外,获得 Pandas 的最佳⽅式是通过 conda(opens new window):
conda install Pandas
但是此⽅法安装较慢,不太推荐,可以直接pip。
三、Series类
1、Series对象的实现
Series对象是相当于⼀个⼀维的数组
⽅法1
import pandas as pd
"""
导⼊pandas模块
"""
ser_0 = pd.Series(data=[0,1,2,3,4,5])
# data 参数表⽰:所取得的数值是多少
print(ser_0)
# output>
00
11
22
33
44
55
dtype: int64
# 第⼀列是索引(indexs)
# 第⼆列是数值(values)
⽅法2
import pandas as pd
ser_1 = pd.Series(data=[0,1,2,3], index=['a','b','c','d'])
# index 表⽰⾃定义索引
print(ser_1)
# output>
a 0
b 1
c 2
d 3
dtype: int64
⽅法3
config ={
'one':1,
'two':2,
'three':3,
'four':4
}
# 字典
ser_2 = pd.Series(config)
print(ser_2)
# output>
one 1
two 2
three 3
four 4
dtype: int64
2、Head与Tail
import pandas as pd
import numpy as np
index_list =list('abcdefghijklmnopqrst')
data_list = np.arange(20)
ser = pd.Series(data=data_list, index=index_list) print(ser.head())
print(ser.head(3))
print(ser.tail())
print(ser.tail(3))
# output>
a 0
b 1
c 2
d 3
e 4
dtype: int32
a 0
b 1
c 2
dtype: int32
p 15
q 16
r 17
s 18
t 19
dtype: int32
r 17
s 18
t 19
dtype: int32
3、属性与底层数据
index属性
values属性
ser = pd.Series(data=[0,1,2,3,4,5,6,7,8,9,10], index=['a','b','c','d','e','f','g','h','j','k','l']) print(ser.index)
print(ser.values)
# output>
Index(['a','b','c','d','e','f','g','h','j','k','l'], dtype='object')
[012345678910]
4、Series对象的切⽚操作
实际上,Series对象的切⽚与数组的切⽚差别并不⼤。
import pandas as pd
ser = pd.Series([1,2,3,4,5,6,7,8,9,0,11])
print(ser[0])
print(ser[1:7])
print(ser[0:8:2])
print(ser[:])
print(ser[-5:-2])
# output>
1
12
23
34
45
56
67
dtype: int64
01
23
45
67
dtype: int64
01
12
23
34
45
56
67
78
89
90
1011
dtype: int64
67
78
89
dtype: int64
5、Series对象的⼀些常⽤⽅法
1、Series.index
索引
2、Series.values
数值
3、Series.drop(index)
删除某⼀个数据
4、Series.sum
求所有元素的和
等
四、DataFrame类
1、DataFrame对象的实现
⽅法1
import pandas as pd
df = pd.DataFrame([[0,1,2,3,4],[5,6,7,8,9]])
print(df)
⽅法2
python 定义数组
import pandas as pd
df = pd.DataFrame(data=[[0,1,2,3,4],[5,6,7,8,9]], index=['a','b']) print(df)
⽅法3
import pandas as pd
config={
'a':[1,2,3,4,5],
'b':[4,5,6,7,8],
'c':[2,4,6,8,10]
}
df = pd.DataFrame(data=config,index=['one','two','three','four','five']) print(df)
2、DataFrame的取值以及切⽚
1、取值
Head、 Tail ⽅法
import pandas as pd
config ={
'a':[0,1,2,3,4,5,6,7],
'b':[8,9,10,11,12,13,14,15],
'c':[3,6,9,11,13,15,17,19],
'd':[2,4,6,9,12,14,16,18,]
}
df = pd.DataFrame(data=config, index=['a','b','c','d','e','f','g','h']) print(df)
print(df.head())
print(df.tail())
某⼀个位置处的值:
import pandas as pd
config ={
'a':[0,1,2,3,4,5,6,7],
'b':[8,9,10,11,12,13,14,15],
'c':[3,6,9,11,13,15,17,19],
'd':[2,4,6,9,12,14,16,18,]
}
df = pd.DataFrame(data=config, index=['a','b','c','d','e','f','g','h']) print(df.a.a)
print(df.a.b)
f)
# 实际上是相当于取出字典中的数据的类似⽅法,
# 先去取⼀列,
# 再从这⼀列中去取出来某⼀⾏的数据点。
# output>
1
15
2、切⽚
1、⾏切⽚
import pandas as pd
config ={
'a':[0,1,2,3,4,5,6,7],
'b':[8,9,10,11,12,13,14,15],
'c':[3,6,9,11,13,15,17,19],
'd':[2,4,6,9,12,14,16,18,]
}
df = pd.DataFrame(data=config, index=['a','b','c','d','e','f','g','h']) print(df[0:4])
# 从第零⾏切⼑第三⾏数据
print(df['a':'c'])
# 从下标为 a 的⾏⼀直切到下标为 b 的⾏
2、列切⽚
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论