【数据处理】Pandas读取CSV文件示例及常用方法(入门)
文章目录
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'})
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)) # 乱序用法