Python Pandas处理csv文件常用操作代码

常识

  1. 使用pandas.read_csv从csv文件中读取数据,对于csv中缺失的空值,读进dataframe会自动补为numpy.nan,且数据类型为float

操作

  1. 读取csv文件,存储为dataframe数据类型
df = pandas.read_csv(csv_path)
  1. 查看csv文件的dataframe的所有列字段名
print(df.columns)
  1. 按行遍历dataframe
for row in df.itertuples():

可以用row.column_name访问该行具体的列(column_name无需加引号)

  1. 删除dataframe的指定整列数据
df = df.drop(['city', 'region', 'iso_country_code'], axis=1)
# 删除列 'city', 'region', 'iso_country_code'
# 这里的删除其实并没有对df本身作出任何改变,而是将df进行拷贝,将拷贝的副本进行了列删除操作,所以这里一定要赋值给一个新的df,仅仅用df.drop并不能改变df
  1. 根据某个字段的值的集合条件筛选出符合条件的目标行,以构成新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索引很乱,不连续,这里的操作是在重排索引
  1. dataframe指定位置插入一整列
df.insert(loc=6, column='top_category_id', value=cate1_ids)
# loc 位置
# column 列名
# value 数据来源 (这里一般我习惯用list,要求list的长度要与dataframe的行数目一致)
  1. 将dataframe数据写入csv文件
df.to_csv(csv_path, index=False)  # 不把行索引信息写入csv文件
df.to_csv(csv_path, index=True)  # 把行索引信息写入csv文件
  1. 使用list构建dataframe
df = pandas.DataFrame(data, columns=['head', 'relation', 'tail'])
# data是一个list,data这个list里面的元素也是一个个list,每一个list表示一行数据
# columns 表示列名 
# data里面的list中的元素放置位置要与columns一致

你可能感兴趣的:(#,Python,python,pandas,csv,dataframe)