• pandas 涉及内容的用法


    1 Pandas.DataFrame 的 iterrows()方法

    1.1 DataFrame 的构建

    DataFrame 是由索引和内容组成的,索引有: 行索引和列索引;

    创建方式:

    pd.DataFrame(ndarray数据,index=[‘行索引1’,‘行索引2’],colunms=[‘列索引1’,‘列索引2’])

    使用例子:

    1 列表形式数据(列表内元素是数值)构建DataFrame

    1. >>> import numpy as np
    2. >>> import pandas as pd
    3. >>> a=pd.DataFrame(np.arange(18).reshape(3,6),index=['a','b','c'],columns=['A','B','C','D','E','F'])
    4. >>> a
    5. A B C D E F
    6. a 0 1 2 3 4 5
    7. b 6 7 8 9 10 11
    8. c 12 13 14 15 16 17

    2 列表形式数据(列表内元素是字典)构建DataFrame

    1. >>> a=pd.DataFrame([{'a':0,'b':3,'c':6},{'a':1,'b':4,'c':7},{'a':2,'b':8,'c':5}])
    2. >>> a
    3. a b c
    4. 0 0 3 6
    5. 1 1 4 7
    6. 2 2 8 5
    7. >>> a=pd.DataFrame([{'a':0,'b':3,'c':6},{'a':1,'b':4,'c':7},{'a':2,'b':8}])
    8. >>> a
    9. a b c
    10. 0 0 3 6.0
    11. 1 1 4 7.0
    12. 2 2 8 NaN
    13. >>> a=pd.DataFrame([{'a':0,'b':3,'c':6},{'a':1,'b':4,'c':7},{'a':2,'b':8, 'd':4}])
    14. >>> a
    15. a b c d
    16. 0 0 3 6.0 NaN
    17. 1 1 4 7.0 NaN
    18. 2 2 8 NaN 4.0

    3 字典类型数据构建DataFrame

    1. >>> b=pd.DataFrame({'a':[0,1,2],'b':[3,4,8],'c':[6,7,5]})
    2. >>> b
    3. a b c
    4. 0 0 3 6
    5. 1 1 4 7
    6. 2 2 8 5

    1.2 DataFrame 属性

    1 shape 属性:查看形状;

    2 dtypes 属性: DataFrame的列数据类型

    3 df[df.index==某行索引值]:对某行内容进行索引

    4 df.columns:列索引

    5 df.head():仅显示前面几行数据(默认是前五行)

    6 df.tail():仅显示最后几行数据(默认是后五行)

    7 df.values:仅返回数据框中的值,轴标签将被删除

    8 查看某行某列数据

            df.loc[]函数和df.iloc[]函数

    例子:

    1. >>> a=pd.DataFrame(np.arange(15).reshape(3,5),index=['a','b','c'],columns=['aa','bb','cc','dd','ee'])
    2. >>> a.loc['a':'b','aa':'dd']
    3. aa bb cc dd
    4. a 0 1 2 3
    5. b 5 6 7 8
    6. >>> a.iloc[0:1,0:3]
    7. aa bb cc
    8. a 0 1 2

    1.3 iterrows()

    iterrows() 是在DataFrame中的行进行迭代的一个生成器,返回每行的索引及一个包含行本身的对象

    在需要遍历行数据的时候,就可以使用 iterrows()方法实现了;

    1. >>> df = pd.DataFrame(np.random.randn(3, 4), columns=list('ABCD'))
    2. >>> df
    3. A B C D
    4. 0 -0.859642 -1.785623 1.193805 -0.033643
    5. 1 2.065668 -0.134116 0.538970 -0.638147
    6. 2 0.632350 -0.380048 2.446963 0.129857
    7. >>> for index, row in df.iterrows():
    8. ... print(index)
    9. ... print(row)
    10. ...
    11. 0
    12. A -0.859642
    13. B -1.785623
    14. C 1.193805
    15. D -0.033643
    16. Name: 0, dtype: float64
    17. 1
    18. A 2.065668
    19. B -0.134116
    20. C 0.538970
    21. D -0.638147
    22. Name: 1, dtype: float64
    23. 2
    24. A 0.632350
    25. B -0.380048
    26. C 2.446963
    27. D 0.129857
    28. Name: 2, dtype: float64

    参考:https://www.jianshu.com/p/14c054225f03

    参考:数据结构5 :DataFrame(Pandas库)_方如一的博客-CSDN博客_dataframe

  • 相关阅读:
    7-94 求N分之一序列前N项和
    QMainWindow的使用
    docker 高级 compose/swarm
    Mac(M1)安装mysqlclient失败解决办法-error: subprocess-exited-with-error
    MACOS Ventura 本地安装HDFS 3.1.4
    动态代理(cglib与jdk)
    Path-Ranking:KBQA中path生成、召回、粗排与精排
    C++学习笔记(六)——日期类的实现
    期末复习 c
    【45. 状态压缩DP(最短Hamilton路径)】
  • 原文地址:https://blog.csdn.net/qq_40671063/article/details/127649165