Datawhale数据分析教程笔记01

数据读取

载入数据

read_csv()和read_table()的区别

read_csv()和read_table()两个方法均能从文件、URL、文件型对象中读取数据,区别是read_csv()默认分隔符为英文逗号,相应的文件就是.csv文件,read_table()默认分隔符为制表符\t,相应的文件就是.tsv文件,read_table()的sep参数设置为’,'时,二者没有差别,返回值均是DataFrame对象。

pandas逐块读取

由于DataFrame对象占用内存很大,当数据样本较大时,直接读取文件产生DataFrame对象将产生很大的内存消耗且会使运行速度降低,因此读取数据量较大时可以逐块读取,减少内存消耗,提升程序运行速度。
使用chunksize参数可以分块读取数据,chunksize为分块大小,例如

df = pd.read_csv('./train.csv',chunksize=5)
for d in df:
	print(d)

返回的结果是TextFileReader对象,为一个可迭代对象,
对df进行遍历,d为一个DataFrame对象,逐块读取每次使用的内存大小为一个分块DataFrame占用的内存。

修改表头

可以使用DataFrame的columns属性直接修改表头

head = ["乘客ID","是否幸存","乘客等级(1/2/3等舱位)","乘客姓名","性别","年龄","堂兄弟/妹个数","父母与小孩个数","船票信息","票价","客舱","登船港口"]
df = pd.read_csv("./train.csv")
df.columns = head

或使用rename()方法修改特定列的表头
例如

df = pd.read_csv("./train.csv")
df.rename(columns={'PassengerId': '乘客ID', 'Survived': '是否幸存', 'Pclass': '乘客等级(1/2/3等舱位)', 'Name': '乘客姓名', 'Sex': '性别'}, inplace=True) 

或直接在载入数据时使用name参数
例如

head = ["乘客ID","是否幸存","乘客等级(1/2/3等舱位)","乘客姓名","性别","年龄","堂兄弟/妹个数","父母与小孩个数","船票信息","票价","客舱","登船港口"]
df = pd.read_csv("./train.csv", name=head)
初步观察
查看数据的基本信息

①使用info()方法可以查看数据的基本信息如:类型、长度、每列非空数据长度、数据类型、列名、内存大小等
②使用shape属性可以查看数据的行列数
③使用describe()方法可以查看数据的总数、平均数、标准差、最小值、最大值、25%/50%/75% 分位数等统计指标
④使用describe属性可以查看数据的头尾的一部分数据,可以大致了解数据
⑤使用head()方法可以打印开头的5行数据,亦可用参数指定打印开头的几行数据
⑥使用tail()方法可以打印结尾的5行数据,亦可用参数指定打印结尾的几行数据
⑦使用isnull()方法可以查看数据是否为空,为空返回True,非空返回False

查看某一列/行数据
df['Cabin']  # 直接查看
df[df.columns[0]]  # 指定序号
df.loc[:, 'Cabin'] # 指定列名
df.iloc[:, 10]  # 指定列序号
删除某一列/行数据

①del 函数

del df['a']

②drop方法

df.drop(['Cabin'],axis=1,inplace = True)
# 指定inplace则删除原DataFrame对象的该列,否则返回删除后的副本

③pop方法

df.pop('a')
# 删除原DataFrame对象的该列,并返回被删除的列
隐藏特定列
df.style.hide_columns(['PassengerId','Name','Age','Ticket']) # 隐藏列
逻辑处理

可以直接使用组合逻辑提取需要的数据

midage = df[(df['Age'] > 10) & (df['Age'] < 50)].loc[:, ['Pclass','Sex']]
数据排序

①按行/列序号排序

df.sort_index(axis=1,ascending=True, inplace=False)
# axis=0对行,axis=1对列,ascending为是否升序

②按任意多列值排序

df.sort_values(by=['Age','Sex'], ascending=[True,False], inplace=False)

对泰坦尼克数据集进行排序

数据算术计算

直接将两个DataFrame对象进行相加,存在相同行列时对应的数据会相加,不存在时对应结果为NaN.
此外,可以使用df[‘SibSp’] + df[‘Parch’]对两列数据进行算术计算

保存数据

可以使用to_csv()方法保存数据,并使用参数encoding指定保存数据的编码从而避免乱码,例如

df.to_csv('train_chinese.csv',encoding='gbk')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值