1、pandas 读写 csv 文件
1)pandas.read_csv()
读取csv文件,输出为dataframe
#例如:
df = pd.read_csv(os.path.join(csv_dirs, basename), head=None, dtype=columns_type, skiprows=10, nrows=200000, error_bad_lines=False)
head
当head
等于None
时,该csv文件的第一行不被当为表头,表头默认为0,1,2...
,当没有head属性时,默认文件中第一行为表头。dtype
提前声明好每列所属的类型,不然 pandas要读完了以后才能对这列进行归类,这加快了读取速度(也能防止出现错误类型数据),更详细的解释见链接。数据格式是字典,例如{"column1": object, "column2": np.int32, "column3": float}
。dataframe 格式注意问题skiprows
跳过前多少行,详见链接。使用skiprows=range(1,10)
,也可以保留第一行(即 0 rows),跳过随后的2至11行(即 1 - 10 rows)。也可以skiprows = [1,2,4,6,7]
来跳过指定行(即可以先创建忽略列表,再赋值给skiprows
进行跳过。nrows
跳过前skiprows
行后,取随后的前nrows
行error_bad_lines =False
读取文件时遇到和列数不对应(多列或少列)的行,此时会报错。该参数设置为False
时报错行可以跳过
2)pandas.to_csv()
写入csv文件
df = pd.read_csv(os.path.join(csv_dirs, basename), dtype=columns_type, nrows=200000, error_bad_lines=False)
df.to_csv('path.csv')
3)read_csv()读取文件跳过报错行
pandas.read_csv(***,error_bad_lines=False)
链接
2、pandas的数据类型
3、操作dataframe
参考链接:更改列的数据类型 | 删除/选取含有特定数值的行或列 | 修改列名 | dataframe提取行和列
1) 创建dataframe、查看每列名称,查看值,查看列类型
import pandas as pd
import numpy as np
# 创建 dataframe
df = pd.DataFrame(np.random.randn(5,3), index=None, columns=['A', 'B', 'C'