【数据处理】Pandas读取CSV文件示例及常用方法(入门)

文章目录

  • 1. 导入常用包
  • 2. 文件读取
  • 3. 查看有哪些列
  • 4. 查看前几行数据
  • 5. 查看数据信息
  • 6. 查看获取指定列的数据
  • 7. 判断某列是否有None值
  • 8. 查看某列的None值数量
  • 9. 获取指定行的数据
  • 10. 填补None值
  • 11.用原数据组合添加一列新数据
  • 12. 删除指定某列的数据
  • 13. 获取指定行与列
  • 14. 将某一列设置为新的Index索引值
  • 15. 查看某列数据的所有值
  • 16. 类型转换Numpy
  • 17. agg 聚合操作
  • 18.指定列的数据绘图
  • 19. 只要某列的数据
  • 20.统计某列中各个数据的次数
  • 21.两个数据上下拼接
  • 22.随机获取若干行数据
  • 1. 导入常用包

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    %matplotlib inline
    import datetime
    

    2. 文件读取

    data = pd.read_csv('./空气_2010.1.1-2014.12.31.csv')
    

    3. 查看有哪些列

    data.columns
    

    4. 查看前几行数据

    data.head()
    

    5. 查看数据信息

    data.info()
    

    6. 查看获取指定列的数据

    data['pm2.5']  # 查看pm2.5该列的数据
    

    7. 判断某列是否有None值

    data['pm2.5'].isna() # 判断None值 返回布尔类型数据
    

    8. 查看某列的None值数量

    data['pm2.5'].isna().sum() # 查看None的数量
    

    2067

    9. 获取指定行的数据

    data.iloc[24:] # 从24行到最后一行
    

    10. 填补None值

    全有数据向前填充

    data.iloc[24:].fillna(method = 'ffill') # 前向填充
    

    指定列的插值填充

    data['pm2.5'].interpolate() # 插值
    

    11.用原数据组合添加一列新数据

    示例1:

    data['tm'] = data.apply(lambda x : datetime.datetime(year = x['year'],
                                            month = x['month'],
                                            day = x['day'],
                                            hour = x['hour']),axis=1)
    

    12. 删除指定某列的数据

    data.drop(columns=['year','month','day','hour','No'],inplace = True)
    

    13. 获取指定行与列

    类似切片

    data = data.iloc[:,:8]
    

    14. 将某一列设置为新的Index索引值

    data = data.set_index('tm')
    

    15. 查看某列数据的所有值

    data.cbwd.unique()
    

    array([‘SE’, ‘cv’, ‘NW’, ‘NE’], dtype=object)

    16. 类型转换Numpy

    data.iloc[:,1:].to_numpy()
    

    17. agg 聚合操作

    类似数据库查询中的groupby查询

    先添加新的一列按月将数据划分

    data['timeForMonth'] = data.apply(lambda x: str(x['year'])+"-"+'{:02}'.format(int(x['month'])), axis=1)
    

    聚合,对指定的列按月划分求平均值等

    dataForMonth = data.groupby('timeForMonth').agg({'pm2.5':'mean','DEWP':'mean','TEMP':'mean','Iws':'mean','Is':'sum','Ir':'sum'})
    
  • min 最小值 max 最大值
  • sum 求和
  • mean 平均值
  • median 中位数
  • std 标准差
  • var 方差
  • count 计数
  • 18.指定列的数据绘图

    data['pm2.5'].plot()
    

    19. 只要某列的数据

    生成新的data

    data = data[['pm2.5', 'tm']]
    

    20.统计某列中各个数据的次数

    data.列名.value_counts()
    data.airline_sentiment.value_counts()
    

    结果示例:
    negative 9178
    neutral 3099
    positive 2363
    Name: airline_sentiment, dtype: int64

    21.两个数据上下拼接

    data = pd.concat([data_a, data_b])
    

    假如data_a的维度为4行6列,data_b为6行6列(列数相同),则data为10行6列

    22.随机获取若干行数据

    data2 = data.sample(2) # 随机取2条数据
    data = data.sample(len(data)) # 乱序用法
    
    物联沃分享整理
    物联沃-IOTWORD物联网 » 【数据处理】Pandas读取CSV文件示例及常用方法(入门)

    发表回复