读取csv文件:read_csv()
- 读取
import pandas as pd
df = pd.read_csv('movies.csv')
print(df[0:5])
得出的结果 (以表格展示):
0 | 名称 | 年份 | 国家 | 类型 | 导演 | 评价人数 | 评分 | |
---|---|---|---|---|---|---|---|---|
0 | 1 | 肖申克的救赎 | 1994 | 美国 | 犯罪 剧情 | 弗兰克·德拉邦特 | 1411809 | 9.6 |
1 | 2 | 霸王别姬 | 1993 | 中国大陆 香港 | 剧情 爱情 同性 | 陈凯歌 | 1045815 | 9.6 |
2 | 3 | 这个杀手不太冷 | 1994 | 法国 | 剧情 动作 犯罪 | 吕克·贝松 | 1289312 | 9.4 |
3 | 4 | 阿甘正传 | 1994 | 美国 | 剧情 爱情 | 罗伯特·泽米吉斯 | 1111962 | 9.4 |
4 | 5 | 美丽人生 | 1997 | 意大利 | 剧情 喜剧 爱情 战争 | 罗伯托·贝尼尼 | 651003 | 9.5 |
以上结果也可以由 df.head()
得出
对于一般情况下的 csv 数据文件,导入过程非常简单。而且 Pandas 识别到 CSV 的第一行包含列名,并自动使用它们
- 消除无效行
如果文件头部有一些无效行,或者不需要的数据,那么添加 skiprows
参数可以直接跳过前面的行
import pandas as pd
df = pd.read_csv('movies.csv', skiprows=1)
print(df[0:5])
得出的结果 (以表格展示):
1 | 肖申克的救赎 | 1994 | 美国 | 犯罪 剧情 | 弗兰克·德拉邦特 | 1411809 | 9.6 | |
0 | 2 | 霸王别姬 | 1993 | 中国大陆 香港 | 剧情 爱情 同性 | 陈凯歌 | 1045815 | 9.6 |
1 | 3 | 这个杀手不太冷 | 1994 | 法国 | 剧情 动作 犯罪 | 吕克·贝松 | 1289312 | 9.4 |
2 | 4 | 阿甘正传 | 1994 | 美国 | 剧情 爱情 | 罗伯特·泽米吉斯 | 1111962 | 9.4 |
3 | 5 | 美丽人生 | 1997 | 意大利 | 剧情 喜剧 爱情 战争 | 罗伯托·贝尼尼 | 651003 | 9.5 |
4 | 6 | 泰坦尼克号 | 1997 | 美国 | 剧情 爱情 灾难 | 詹姆斯·卡梅隆 | 1053044 | 9.3 |
可以看到前面的行首消失了,而且提取的数量没有变,后面又加了一行数据。
如果想跳过多行,就把 1 换成其它的数字
- 改变索引
Pandas 在 DataFrame 中使用从零开始的整数索引,那是因为没有告诉它我们的索引应该是什么
要使用其他列作为 DataFrame 的索引,添加 index_col
参数
import pandas as pd
df = pd.read_csv('movies.csv', index_col='名称')
print(df.head())
现在 名称
字段就是索引 (以表格展示):
0 | 年份 | 国家 | 类型 | 导演 | 评价人数 | 评分 | |
---|---|---|---|---|---|---|---|
名称 | |||||||
肖申克的救赎 | 1 | 1994 | 美国 | 犯罪 剧情 | 弗兰克·德拉邦特 | 1411809 | 9.6 |
霸王别姬 | 2 | 1993 | 中国大陆 香港 | 剧情 爱情 同性 | 陈凯歌 | 1045815 | 9.6 |
这个杀手不太冷 | 3 | 1994 | 法国 | 剧情 动作 犯罪 | 吕克·贝松 | 1289312 | 9.4 |
阿甘正传 | 4 | 1994 | 美国 | 剧情 爱情 | 罗伯特·泽米吉斯 | 1111962 | 9.4 |
美丽人生 | 5 | 1997 | 意大利 | 剧情 喜剧 爱情 战争 | 罗伯托·贝尼尼 | 651003 | 9.5 |
- 列索引
如果想要为数据添加行索引,就添加 header
参数
import pandas as pd
df = pd.read_csv('movies.csv', header=None)
print(df.head())
然后数据就自动添加了行索引 (以表格展示):
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
---|---|---|---|---|---|---|---|---|
0 | 0 | 名称 | 年份 | 国家 | 类型 | 导演 | 评价人数 | 评分 |
1 | 1 | 肖申克的救赎 | 1994 | 美国 | 犯罪 剧情 | 弗兰克·德拉邦特 | 1411809 | 9.6 |
2 | 2 | 霸王别姬 | 1993 | 中国大陆 香港 | 剧情 爱情 同性 | 陈凯歌 | 1045815 | 9.6 |
3 | 3 | 这个杀手不太冷 | 1994 | 法国 | 剧情 动作 犯罪 | 吕克·贝松 | 1289312 | 9.4 |
4 | 4 | 阿甘正传 | 1994 | 美国 | 剧情 爱情 | 罗伯特·泽米吉斯 | 1111962 | 9.4 |
写入csv文件:to_csv()
数据已经放在 df
中了,直接对其使用就可以保存 csv 文件
df.to_csv('to_mivies.csv') # 直接保存在相对路径中
df.to_csv('C:\\Users\\12078\\Desktop\\to_mivies.csv') # 保存在绝对路径中
df.to_csv('to_mivies.csv', header=0) # 不保存列名
df.to_csv('to_mivies.csv', index=0) # 不保存行索引