Python数据处理二

    技术2022-07-10  142

    前两天我的笔记本电脑出问题了,拿到联想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文件,这个经常会使用,后续在使用中也有相应的体会。

    Processed: 0.009, SQL: 12