每次做数据处理,有很多的命令都是重复使用的,但若不记录下来,则需要重复去寻找零散的知识点,非常浪费精力。
这篇文章的目的就是将对数据进行基本处理的方法整理汇总至一处,以便日后查看。
本文会持续更新,欢迎大家在评论处留言“你认为还有哪些常用的、必备的功能”。
0 自行创建数据
自行建立Dataframe
格式的数据:
synthesize_data = pd.DataFrame(
{'Date': [4, 4, 4, 4, 4],
'Time': ['08:01:20', '08:01:30', '08:01:40', '08:01:50', '08:02:00'],
'Vehicle_ID': [1, 1, 2, 2, 3],
'Longtitude': [121.1, 121.2, 121.3, 121.4, 121.5],
'Latitude': [31.1, 31.2, 31.3, 31.4, 31.5],
'Direction': [45, 53, 42, 46, 49],
'Link_ID': [100, 100, 100, 100, 100]
}
)
1 数据导入
导入csv数据文件
import pandas as pd
data_frame = pd.read_csv(file_path) # 1 以csv文件为例
data_frame = pd.read_csv(file_path, header='None') # 2 没有标题行的情况
data_frame = pd.read_csv(file_path, header='None', encoding='gbk') # 3 不编码报错的情况
没有表头,或者表头不是自己想要的,可自行生成
columns = ['Date', 'Time', 'Vehicle_ID', 'Lontitude', 'Latitude', 'Direction']
data_frame.columns = columns
数据遍历
逐行获取数据,可使用iterrows
方法,以最开始自行生成数据为例:
for index, row in synthesize_data.iterrows():
print(index, row['Longtitude'])
>>> 0 121.1
>>> 1 121.2
>>> 2 121.3
>>> 3 121.4
>>> 4 121.5
数据去重
举例1:获取一份车辆ID的清单
vehicle_id_list = list(synthesize_data['Vehicle_ID'].drop_duplicates())
举例2:删除车辆ID重复的数据行,保留第一行
synthesize_data['Vehicle_ID'].drop_duplicates(keep='first', replace=True)
数据删除
删除其中某一行
index = 1
df_data.drop(index, replace=True)
删除其中某一列
row = 'A'
df_data.drop(row, axis=1, replace=True)