zoukankan      html  css  js  c++  java
  • pandas 使用总结

    1. 创建 DataFrame 
      from random import randint
      import pandas as pd
      import numpy as np
      df = pd.DataFrame(index=range(10), columns=list('ABCD'))
    2. # 动态添加一列
      A = np.array(range(20, 30))
      df['E'] = A
      print(df)
    3. # 添加一行  注意列名必须一致
      # append 生成新的DataFrame,原DataFrame不变   ignore_index 是否继续累加原行号
      _11 = pd.DataFrame(data=[[1,1,1,1,1]], columns=list('ABCDE'))
      print(_11)
      _11df = df.append(_11, ignore_index=True)
      print(_11df)
      
      _12 = pd.Series({'A':randint(-1,1), 'B':randint(-1,1), 'C':randint(-1,1), 'D':randint(-1,1), 'E':randint(-1,1)})
      _12df = df.append(_12, ignore_index=True)
      print(_12df)
      
      # 可以用做添加一行(前提是没有10的行号),如果有第10的行号,就是修改这行值
      df.loc[10] = [randint(-1,1) for n in range(5)]
      print(df)
    4. # 判断 24 < df['E']列 < 28 的值
      # TODO 记得加括号哦
      print(df[(df['E'] > 24) & (df['E'] < 28)])
    5. # 修改值
      df.loc[6, :] = [66,66,66,66,66]
      df.loc[[7,8,9], :] = [[77,77,77,77,77], [88,88,88,88,88], [99,99,99,99,99]]
      print(df)
    6. # 获取 A 列值为 nan 的行
      print(df[pd.isna(df['A'])]['A'])
    7. # 获取 A 列值不为 nan 的行
      print(df[~pd.isna(df['A'])]['A'])
    8. # 获取整个 df 是缺测的
      isna = pd.isna(df)
      print(isna)
      # 获取缺测的 index
      indnan = np.where(isna == False)
      # 因为where查找的下标是二维数组,所以先把df转为numpy, 再通过二维下标,获取值
      ddf = np.array(df)
      print(ddf[indnan])
    9. # 按行转为一维
      print(ddf.flatten())
         #  仅供参考,欢迎评论交流
     
  • 相关阅读:
    ArcGIS中的VBA修复
    ArcSDE解除图层锁定
    Sanboxie 5.14安装图解
    获取WIFI密码
    ArcGIS安装错误1402
    地图中插入表格——ArcMap篇
    mysql 5.6 datetime 保存精确到秒
    JAVA8 ARRAY、LIST操作 汇【5】)- JAVA8 LAMBDA LIST统计(求和、最大、最小、平均)
    cloud配置中心遇到的坑
    解决 MySQL 比如我要拉取一个消息表中用户id为1的前10条最新数据
  • 原文地址:https://www.cnblogs.com/luochunxi/p/14116635.html
Copyright © 2011-2022 走看看