读写文本格式的数据
将工作目录下的一个csv文件读入一个DataFrame中
df = pd.read_csv('examples/ex1.csv')
也可以是哟个read_table方法,并指定分隔符
pd.read_table('examples/ex1.csv',sep=',')
有些数据文件没有标题行,如果直接读取,会将第一行默认设置为标题行,传入header=None参数可以避免。
pd.read_csv('examples/ex2.csv') #将第一行设置为标题行
pd.read_csv('examples/ex2.csv',header=None)
也可以通过name参数手动设定标题行。
pd.read_csv('examples/ex2.csv',names=['a','b','c','d','message'])
通过index_col参数可以将源数据的某列设置为行索引列。
names = ['a','b','c','d','message']
pd.read_csv('examples/ex2.csv',names=names,index_col = 'message')
将names列表设置为标题行,index_col参数将message列设置为行索引列。
可以设置多个列为行索引列,做成层次化索引。
parsed = pd.read_csv('examples/csv_mindex.csv',index_col=['key1','key2'])
设置key1和key2两层索引
有些表格可能不是用固定的分隔符来分隔字段的。
list(open('examples/ex3.txt'))
上面的文件中的数据使用数量不同的空白字符间隔开的,可以传入一个正则表达式作为分隔符。
result = pd.read_table('examples/ex3.txt',sep='\s+')
有时数据文件中不一定全都是数据。
比如这个数据文间的0、2、3行都是注释
通过skiprows参数可以跳过数据文件的指定行。
pd.read_csv('examples/ex4.csv',skiprows=[0,2,3])
读取的数据文件中可能会存在缺失值。
result = pd.read_csv('examples/ex5.csv')
使用isnull方法可以返回一个布尔型DataFrame,缺失值会显示为True。
据说na_values参数可以设置不同的标记值来表示缺失值
result = pd.read_csv('examples/ex5.csv', na_values=['test'])
实际好像没什么卵用。
将各列的缺失值用不同的NA标记值。
sentinels = {'message': ['foo', 'NA'], 'something': ['two']}
pd.read_csv