Python Pandas处理csv文件常用操作代码
常识
- 使用
pandas.read_csv
从csv文件中读取数据,对于csv中缺失的空值,读进dataframe
会自动补为numpy.nan
,且数据类型为float
操作
- 读取csv文件,存储为
dataframe
数据类型
df = pandas.read_csv(csv_path)
- 查看csv文件的
dataframe
的所有列字段名
print(df.columns)
- 按行遍历
dataframe
for row in df.itertuples():
可以用row.column_name
访问该行具体的列(column_name
无需加引号)
- 删除
dataframe
的指定整列数据
df = df.drop(['city', 'region', 'iso_country_code'], axis=1)
# 删除列 'city', 'region', 'iso_country_code'
# 这里的删除其实并没有对df本身作出任何改变,而是将df进行拷贝,将拷贝的副本进行了列删除操作,所以这里一定要赋值给一个新的df,仅仅用df.drop并不能改变df
- 根据某个字段的值的集合条件筛选出符合条件的目标行,以构成新
dataframe
# 使用isin()方法筛选匹配的行
new_df = df[df['placekey'].isin(mht_poi_list)]
# 筛选出df中 placekey字段的值在列表mht_poi_list中的记录行,以构成一个新dataframe new_df
new_df = new_df.reset_index(drop=True)
# 经过筛选而得到的dataframe索引很乱,不连续,这里的操作是在重排索引
- 往
dataframe
指定位置插入一整列
df.insert(loc=6, column='top_category_id', value=cate1_ids)
# loc 位置
# column 列名
# value 数据来源 (这里一般我习惯用list,要求list的长度要与dataframe的行数目一致)
- 将dataframe数据写入csv文件
df.to_csv(csv_path, index=False) # 不把行索引信息写入csv文件
df.to_csv(csv_path, index=True) # 把行索引信息写入csv文件
- 使用
list
构建dataframe
df = pandas.DataFrame(data, columns=['head', 'relation', 'tail'])
# data是一个list,data这个list里面的元素也是一个个list,每一个list表示一行数据
# columns 表示列名
# data里面的list中的元素放置位置要与columns一致