(一)使用Pandas进行数据分析 - 数据读取

1.读取文件

Pandas读取这两种文件的方法大体一致,语法如下:

pd.read_csv(path)
pd.read_excel(path)

其中path为文件路径,可使用 os 模块中的 getcwd 和 chdir 方法查看和修改路径,若读取的文件在当前路径下,则 path 可直接输入文件名

os.getcwd() #获取当前路径
os.chdir(path) #修改当前路径

pd.read_csv('xxxx.csv')
pd.read_excel('xxxx.xlsx')

2.指定位置读取文件

若想要读取的文件在当前路径下的一个文件夹内时,则只需要在文件名前添加文件夹名称即可

当前路径:C:\\Users\\Desktop,文件在Desktop的test文件夹内
pd.read_csv('test\\xx.csv')

3.指定行读取文件(顺序、跳过、条件)

这里介绍 pd.read_csv 的三种方法实现顺序、跳过和条件读取

# 顺序
pd.read_csv('xx.csv',nrows = 10) #读取前10行
# 跳过
pd.read_csv('xx.csv',skiprows = [1,2,3]) #跳过1、2、3行,也可使用range或者列表表达式
# 条件
pd.read_csv('xx.csv',skiprows = lambda x : x % 2) #使用函数实现条件读取奇数行,这里会将每一行当成参数传入匿名函数,当为奇数行时,结果为True(保留)

4.指定列读取文件(列号、列名、条件)

# 列号
pd.read_csv('xx.csv',usecols = [0,2,4]) #读取该文件的第1、3、5列
# 列名
pd.read_csv('xx.csv',usecols = ['A']) #读取该文件的A列
# 条件
list_1 = ['A','B','C']
pd.read_csv('xx.csv',usecols = lambda x : x in list_1) #同样使用函数进行条件读取,这里会对每一列生成一个布尔判断的结果,从而达到条件读取的结果

5.指定索引读取文件

pd.read_csv('xx.csv',index_col = ['A']) #设置A列为索引列

6.指定标题读取文件并修改标题

pd.read_csv('xx.csv',usecols = ['A'],names = ['B']) #指定读取A列,并将列名修改为B

7.缺失值转换、标记以及忽略缺失值

缺失值分为标准缺失值和非标准缺失值,标准缺失值指的是 Pandas 能够自动识别的,反之则反。

其中空格以及NA均能够被识别,然而 “-”、“na”、“n/a”等等均不能被识别。

在处理缺失值的过程中,一般会遇到以下集中情况:

(一)不对缺失值进行处理,源文件中出现的什么值,DataFrame中就是什么值

pd.read_csv('xx.csv',keep_default_na = False) #keep_default_na 默认为True,即转换为NAN

还可使用 na_filter=False 进行忽略缺失值

(二)将特定字符标记为缺失值(当遇到不能被识别的字符时)

pd.read_csv('xx.csv',na_values = ['[]']) #将[]标记为缺失值

na_values参数用来控制哪些值会被判定为缺失值,它接收一个列表或者集合,当列表或者几个中出现的字符串在文件中出现时,它也会被判定为缺失值。

这个参数用来处理非标准缺失值。

但是,无论此时keep_default_na=True还是False,他都将被改写。

8.指定格式读取文件

在读取某个文件时,修改某列的数据类型(格式)

pd.read_csv('xx.csv',dtype = {'xx':str,'xxx':int}) #通过传入一个字典设置不同列的格式

9.分块读取文件

当数据量过大时,直接使用 pd.read_csv 读取会造成效率过低,使用 chunksize 方法进行分块处理,然后对每一块进行遍历,最后合并输出文件

pd.read_csv('xx.csv',chunksize=100) #每一块有100行

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值