1. 载入数据
1.1 导入数据集
https://blog.youkuaiyun.com/weixin_45919895/article/details/110004423
1.2 tsv和csv的区别
如果想让pd.read_csv()和pd.read_table()效果一样,需要怎么做?
通过sep=’\t’,让pd.read_csv()实现pd.read_table()的功能;
通过sep=’,’,让pd.read_table()实现pd.read_csv()的功能;
了解一下’.tsv’和’.csv’的不同,如何加载这两个数据集?
文件类型 | 使用 |
---|---|
tsv | 使用 \t 作为字段值的分隔符 |
csv | 使用 , 作为字段值的分隔符 |
#加载'.tsv'
pd.read_csv('文件名', sep='\t')
pd.read_table('文件名')
#加载'.csv'
pd.read_csv('文件名')
pd.read_table('文件名', sep=',')
1.3 逐块读取数据
什么是逐块读取?
chunker = pd.read_csv('train.csv', chunksize=5)
for chunk in chunker: #进行迭代
print(type(chunk))
# <class 'pandas.core.frame.DataFrame'>
print(len(chunk))
# 5
#最后一个是: 1
为什么要逐块读取呢?
1.要读取的文件(比如十几个g的大文件)很大时,不能利用pandas直接读取,否则会给电脑内存造成太大的压力。因此就需要进行 分块处理 ,或者一边处理一边把结果写入文件。
2.有些类型的文件需要一块数据一块数据地处理,一行一行的比较麻烦。
参考资料:
在python中使用指定的分隔符逐块读取文件
Pandas分块读取大文件以及读写csv,txt文件的实用操作(待更新)
1.4 将表头改成中文,索引改为乘客ID
df = pd.read_csv('train.csv',
names=['乘客ID','是否幸存','仓位等级','姓名','性别',
'年龄','兄弟姐妹个数','父母子女个数','船票信息',
'票价','客舱','登船港口'],
index_col='乘客ID',header=0)
#加上header=0去掉原来的表头
2 初步观察数据
df.info()
df.isnull()
df.head()
df.tail()
3 保存数据
df.to_csv('train_Chinese.csv')
df1 = pd.read_csv('train_Chinese.csv', encoding='utf-8')