• 《Python数据分析实战》4 pandas: Series DataFrame


    • 初始化Series

    srs = pd.Series([1,2,3,4])

    srs = pd.Series([1,2,3,4], index=['a','b','c','d'])

    srs1 = pd.Series(srs2)

    • 布尔Series

    srs>1:值是否大于1

    srs.isin([2,3,4]):值是否在列表内

    srs.isnull():值是否为np.nan

    • Series运算

    srs/2:元素商

    srs1+srs2:元素和,如果有index则按index对齐运算,非对齐元素为np.nan

    • Series排序

    srs.sort_values()

    • Series遍历

    for index, val in srs.items():

      index, val

    • Serise合并

    pd.concat([srs1, srs2], axis=1)

    • 值个数计算

    pd.value_counts(srs)

    • 初始化DataFrame

    dat = pd.DataFrame({'a':[1,2,3],'b':[2,3,4]})

    dat = pd.DataFrame({'a':[1,2,3],'b':[2,3,4]}, index=['one','two','three'])

    dat = pd.DataFrame(np.arange(6).reshape((3,2)), index=['one','two','three'], columns=['a','b'])

    dat = pd.DataFrame({'a':{'1':1,'2':2},'b':{'1':1,'2':2}})

    • DataFrame内置函数

    dat.columns:列名

    dat.index:行名

    dat.values:所有元素

    dat.one:获取列

    dat['one']:获取列

    dat[['one','two']]:获取多列

    dat.iloc[2]:获取行

    dat.iloc[[2,4]]:获取多行

    dat[2:4]:获取连续多行

    dat['one'][2]:获取元素

    dat.at['rone','cone']:获取元素

    dat.iat[1,2]:获取元素

    dat.loc[0:2, ['one','two']]:获取多个元素,当行索引为字符串则不可用

    dat.loc[['rone','rtwo'], ['cone','ctwo']]:获取多个元素

    dat.T:转置

    • 布尔DataFrame

    dat>1:值是否大于1

    dat.isin([1,2,3]):值是否在列表内

    dat.isnull():值是否为np.nan

    • 修改DataFrame

    dat[0,2]=1:修改元素

    del dat['two']:删除列

    dat.drop(['two'], axis=0):删除行

    dat.drop(['two'], axis=1):删除列

    dat.reindex(index=['rone','rtwo'],columns=['one','three','four']):增加删除列

    dat[["two", "one"]]:修改列顺序

    • DataFrame遍历

    for index in dat.index: 按行遍历

      dat.loc[index]

    for column in dat.columns: 按列遍历

      dat[column]

    • DataFrame运算

    dat/2:元素商

    dat1+dat2:元素和,按index对齐运算,非对齐元素为np.nan

    • DataFrame行列操作

    dat.apply((lambda x: x.max() - x.min())):按列处理

    def f(x):

      if x['3']%3 == 0:

        return pd.Series([x['2'],x['3']])

      return pd.Series([x['0'],x['1']])

    dat.apply(f,axis=1):按行处理

    •  DataFrame排序

    dat.sort_values(by=['a'],axis=1,ascending=False)

    dat.sort_values(by=['a','b'],axis=1,ascending=False)

    参考文献:

    https://blog.csdn.net/junbujianwpl/article/details/70473659

    https://blog.csdn.net/wr339988/article/details/65446138

    https://blog.csdn.net/a19990412/article/details/81945315

  • 相关阅读:
    MySQL 数据类型
    MySQL的相关概念介绍
    遍历Map的四种方法
    Hadoop在win7下部署的问题
    Hbase之shell操作
    问题-"Record not found or changed by another user"
    问题-Delphi编译到最后Linking时总是出现与ntdll.dll有关的错误还有Fatal Error Out of memory错误
    教程-CXGRID之cxDropDownEdit密密
    问题-delphi在某电脑(win7)上是界面超乱 DPL
    教程-Delphi调用C# WEBSERVICE(二)
  • 原文地址:https://www.cnblogs.com/jhc888007/p/9374457.html
Copyright © 2020-2023  润新知