前两天我的笔记本电脑出问题了,拿到联想3C服务区修,耽搁了一些时间,然后用手机写了一些内容,今天把前几天学习的内容给补上。
今天首先是简单记录一下自己学习的pandas。同样的,练习的代码放到我的GitHub上:https://github.com/noDreamNoLife/hugay
1. pandas
1.1 series
首先series它可以看成一个类似数组的结构,它其实是一组数据和其索引组成的一种结构,一组简单的数据就可以是一个series结构。
# Series
obj = Series([1, 2, 3, 4, 5])
print(obj)
print(obj.index)
print(obj.values)
# 自定义索引
obj = Series([1, 2, 3, 4, 5], index=(1, 2, 3, 4, 5))
print(obj)
# series还可以看成字典的形式
data = {'a': 1, 'b': 2, 'c': 3}
obj = Series(data)
print(obj)
keys = ['a','c']
obj_1 = Series(data,index=keys)
print(obj_1)
# series中简单的缺失值判断与处理
data = {'a':None,'b': 2, 'c': 3}
obj = Series(data)
print(pd.isnull(obj))
print((obj.isnull()))
# 自定义索引名
data = {'xiaohu':None,'xiaodai': 2, 'xiaowang': 3}
obj = Series(data)
obj.name = 'xingminghemingzi'
obj.index.name = 'xingming'
print(obj)
1.2 DataFrame
data = {
'篮球':['詹姆斯','杜兰特'],
'足球':['C罗','梅西'],
'乒乓球':['马龙','张继科'],
}
df = DataFrame(data)
print(df)
print(data['篮球'])
dates = pd.date_range('20200627',periods=5)
print(dates)
df = DataFrame(np.random.rand(5,3),index=dates,columns=['A','B','C'])
print(df)
print(df.loc['2020-06-27':'2020-06-28',['A','B']])
print(df.at['2020-06-29','A'])
print(df.head(2))
print(df.tail(2))
1.3 重新索引,数据运算,数据对齐
s1 = Series([1.1,2.2,3.3],index=['a','b','c'])
s2 = Series([-1.1,-2.2,-3.0,4.4],index=['a','b','c','d'])
s3 = s1+s2
print(s3)
d1 = DataFrame(np.arange(9).reshape((3,3)),index=[1,2,3],columns=list('abc'))
d2 = DataFrame(np.arange(12).reshape((4,3)),index=[1,2,3,4],columns=list('cde'))
d3 = d1+d2
print(d3)
d3 = d1.add(d2,fill_value=0)
print(d3)
1.4 Dataframe与series之间的运算与排序
df1 = DataFrame(np.arange(12).reshape((4,3)),columns=list('abc'),index=[1,2,3,4])
s1 = Series(df1.loc[1])
print(df1)
print(s1)
dele = df1-s1 #广播相减
print(dele)
s2 = Series(np.arange(3),index=['c','d','e'])
add1 = df1+s2 # 不同索引会合并
print(add1)
s2 = Series([3,1,2],index=['c','d','e'])
s1 = s2.sort_values()
print(s1)
s1 = s2.sort_index()
print(s1)
df1 = DataFrame(np.arange(8).reshape((2,4)),columns=['d','b','a','c'],index=[2,1])
df2 = df1.sort_index()
print(df2)
df2 = df1.sort_index(axis=1)
print(df2)
df2 = df1.sort_values(by='d')
print(df2)
最后读取文件时比较常用的读取csv文件,这个经常会使用,后续在使用中也有相应的体会。