numpy能够帮助处理数据,但是pandas除了处理数值之外(基于numpy)。还能够帮助处理其他类型的数据。

1,Series 一维,带标签数组。

2,DataFrame 二维,Series容器。

创建Series

import pandas as pd
import numpy as np
import string

# 用列表创建
s=pd.Series([10,20,30,40,50])
print(s)
'''
0    10
1    20
2    30
3    40
4    50
'''
print(type(s)) # <class 'pandas.core.series.Series'>

s1=pd.Series([10,20,30,40,50],index=list('abcde'))
print(s1)
'''
a    10
b    20
c    30
d    40
e    50
'''

s2=pd.Series(np.arange(10),index=list(string.ascii_uppercase[:10]))
print(s2)

# 用字典创建
d={"name":"tom","age":20,'tel':"13509003932"}
s3=pd.Series(d)
print(s3)
'''
F    5.0
G    6.0
H    7.0
I    8.0
J    9.0
K    NaN
L    NaN
M    NaN
N    NaN
O    NaN
'''

s4=pd.Series(s2,list(string.ascii_uppercase[5:15]))
print(s4)

Series对象本质上由两个数据构成。一个数组构成对象的键(index,索引),一个数组构成对象的值(values)。键->值。

import numpy as np
import pandas as pd
import string

t1=pd.Series(data=np.arange(10),index=list(string.ascii_uppercase[:10]))
print(t1)

# 索引 t[] 这种方式只能索引访问,不能序号访问。t1.iloc[]可以
print('*'*50)
print(t1[['A','B']])
print(t1['C'])
print(t1.iloc[0])
print(t1.iloc[[0,2,3]])
print(t1.loc["A"])
print(t1.loc[['A','B','C']])

# 切片
print('*'*50)
print(t1[2:10:8])
print(t1[1:5])

# 索引和值
print('*'*50)
print(t1.index) # Index(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'], dtype='object')
print(type(t1.index)) # <class 'pandas.core.indexes.base.Index'>
print('*'*50)
print(t1.values) # [0 1 2 3 4 5 6 7 8 9]
print(type(t1.values)) # <class 'numpy.ndarray'>

读取外部文件 read_csv

import pandas as pd

data=pd.read_csv('./books.csv')
print(data)
print(type(data))  # <class 'pandas.core.frame.DataFrame'>

 

 posted on 2024-01-13 15:42  会飞的金鱼  阅读(18)  评论(0)    收藏  举报