Pandas入门及基本操作
Pandas提供高性能易用数据类型和分析工具,可以用import pandas as pd
引入,通常简写为pd。Pandas主要提供两个数据类型:Series(一维)和DataFrame(多维);基于上述数据类型提供各类操作:基本操作、运算操作、特征类操作、关联类操作等。
Series类型
Series类型的创建
Series类型由一组数据及与之相关的数据索引组成。
# 默认从0开始自动生成索引
a = pd.Series([0, 1, 2, 3])
# 可以在创建时指定索引,索引与元素个数一致
b = pd.Series([0, 1, 2, 3], index=['a', 'b', 'c', 'd'])
Seriesl类型可以由Python列表、标量值、Python字典、ndarray等不同类型创建。
# 从标量值创建,index=不能省略,用来表达Series类型的尺寸
a = pd.Series(25, index=['a', 'b', 'c'])
# 从字典类型创建,键变为对应索引,可以用index指定索引
b = pd.Series({'a':0, 'b':1, 'c':2})
c = pd.Series({'a':0, 'b':1, 'c':2}, index=['d', 'c', 'b', 'a'])
# 从ndarray类型创建,可以用index指定索引
d = pd.Series(np.arange(5))
e = pd.Series(np.arange(5), index=np.arange(9, 4, -1))
Series类型的基本操作
Series类型的操作类似ndarray类型,索引方法相同,运算和操作类似。
# .index获得索引,返回类型为index
b = a.index
# .values获得数据,返回类型为array
b = a.values
# 可以用自动索引和自定义索引取值
b = a['c']
b = a[2]
# 切片:获得0至3(不含)的元素,返回值仍为Series类型
b = a[:3]
# 可以用函数辅助索引,返回值仍为Series类型
b = a[a > a.median()]
# 可以用NumPy中的函数,返回值仍为Series类型
b = np.exp(a)
Series类型的操作和字典类型有相似之处。
# 可以用in查看元素是否在索引中
print('c' in a)
# get函数查看Series中是否存在'f'这个索引,存在即返回对应的值,不存在则给其赋值100
b = a.get('f', 100)
Series类型存在对齐操作,在运算中自动对齐不同索引的数据。相加时仅计算都有的索引。
a = pd.Series([1, 2, 3], ['c', 'd', 'e'])
b = pd.Series([9, 8, 7, 6], ['a', 'b', 'c', 'd'])
c = a + b
'''
a NaN
b NaN
c 8.0
d 8.0
e NaN
'''
Series对象和索引都可以有一个名字,存储在属性.name中。
a.name = 'Series对象'
a.index.name = '索引列'
DataFrame类型
DataFrame的遍历
# 按行遍历
for row in df.iterrows():
print(row)
# 全部元素遍历
for i in range(len(df1)):
for j in range(len(df1.iloc[i])):
print(df1.iloc[i,j])
(未完 待更新 /(ㄒoㄒ)/~~)