pandas对csv文件数据读写,选择,整理,描述

1.读写csv

import pandas as pd
#从 csv 中读取 html,txt 等格式的文件
df = pd.read_csv('grades.csv',delimiter=',')

会报错---UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbf in position 2: invalid start byte,修改成以下代码

import pandas as pd
#从 csv 中读取 html,txt 等格式的文件
df = pd.read_csv('grades.csv',delimiter=',',encoding='gbk')

encoding 参数设置编码,默认读取的 utf-8 编码会报错,改成 gbk 中文编码就可以了;

delimiter 参数根据读取的数据文件的分隔方式设置,大于一个字符的分隔符呗看做正则表达式,如一个或多个空格(\s+),tab 符号(\t)等

 

#写
df.to_csv('grades.csv',columns=['客观分','主观分'],index=True,header=True)

columns 参数选择列,这里选择‘客官分’‘主观分’两个列,忽略了索引列(0,1,2,3,4,5,6.......)

index=False 在保存文件时,会忽略索引列,并且把原来的表覆盖掉,保存所选取的列

index=True 在保村文件时,会保留索引列(0,1,2,3,4,5.......)

header=True 在保存文件时,保留第一行的头信息

header=False 在保留文件时,不保留第一行的头信息 

 

2.选择数据

import pandas as pd

df = pd.read_csv('grades.csv',delimiter=',',encoding='utf-8')

#行的读取
rows = df[0:3]
print(rows)

#列的选举
cols = df[['客观分']]
print(cols.head()) #head() 用于显示数据框中的前五行

#块的选取,选4行,’主观分‘’客观分‘两列
data = df.ix[0:3,['客观分','主观分']]
print(data)

#操作行和块,从已经有的列创建新的列
df['总分'] = df['客观分'] + df['主观分']
print(df.head())

#根据条件过滤行
a = df[(df['客观分'] > 45) & (df['主观分'] > 45)]
print(a)



3.数据整理,描述

import pandas as pd

df = pd.read_csv('grades.csv',delimiter=',',encoding='utf-8')

#按照字段进行排序
df = df.set_index('客观分') #将某个字段作为 index
df = df.sort_index()
print(df.head())

#按照两个字段排序
#sortlevel(0) 表示根据第一个索引排序
df = df.set_index(['主观分']).sortlevel(0)
print(df.head())

#查看表的数据信息
print(df.info())

#查看表的描述性统计信息
print(df.describe())


猜你喜欢

转载自blog.csdn.net/zjkpy_5/article/details/85235249
今日推荐