Datawhale第一次打卡

Datawhale第一次打卡

最近参加了一个“动手学数据分析”的学习打卡活动,自己本身对python只有一点点的了解,无数次想啃《利用Python进行数据分析》,但最后都不了了之了,这次活动好在:1.有一条比较完善的学习路径(这一点是比较好的,毕竟刚学习的时候有人告诉了你哪些比较重要,这样相对来说可以降低学习的成本);2.会有专人解答疑惑;3.会有伙伴相互打气,所以趁这次学习活动好好地学python数据分析,冲!!!

数据集下载:泰坦尼克号-机械从灾难中学习.

第一章

第一部分 载入 / 调整 / 查看 / 保存数据

1.1.1 载入数据
  • df.read_csv( )
  • df.read_table( )

这两种方式打开.csv文件的区别,在于pd.read_table需要在"sep=“参数中补充.csv分隔为”,"

data2=pd.read_csv("第一章/1.数据载入及初步观察/train.csv")

data3=pd.read_table("第一章/1.数据载入及初步观察/train.csv",sep=",")

以上是采用相对路径的方法进行读取的

这里会有一个相对路径和绝对路径的使用,这里提供两个方法分别来查看和修改相对路径

import os
os.getcwd():查看当前路径
os.chdir(path):修改当前路径
1.1.2 调整数据
  • df.rename 修改列名

具体使用:

将表头改成中文,索引改为乘客ID [对于某些英文资料,我们可以通过翻译来更直观的熟悉我们的数据]
PassengerId => 乘客ID
Survived => 是否幸存
Pclass => 乘客等级(1/2/3等舱位)
Name => 乘客姓名
Sex => 性别
Age => 年龄
SibSp => 堂兄弟/妹个数
Parch => 父母与小孩个数
Ticket => 船票信息
Fare => 票价
Cabin => 客舱
Embarked => 登船港口
data1.rename(columns={"PassengerId":"乘客ID",
             "Survived":"是否幸存",
             "Pclass":"乘客等级(1/2/3等舱位)",
             "Name":"乘客姓名",
             "Sex":"性别",
             "Age":"年龄",
             "SibSp":"堂兄弟/妹个数",
             "Parch":"父母与小孩个数",
             "Ticket":"船票信息",
             "Fare":"票价",
             "Cabin":"客舱",
             "Embarked":"登船港口"},inplace=True)

删除dataframe中某列

  • del df[column_name]
  • df.drop(column_name,inplace=True , axis=1)

drop() 删除行和列,但当inplace=Fales的时候,可以当作隐藏的功能使用

1.1.3 查看数据
查看

关于查看DataFrame数据总体情况的

  • df.describe():查看DataFrame数据的数值类型的汇总统计结合
  • df.types:查看DataFrame数据的每列数据类型
  • df.info():获取 DataFrame数据 的简要摘要
  • df.head(n):查看DataFrame数据前n行的数据
  • df.tail(n):查看DataFrame数据后n行的数据
  • df.isnull():判断DataFrame数据的值是否为空,为的地方返回True,其余地方返回False

关于查看DataFrame数据的情况的

  • df.columns:查看DataFrame数据的每列项
  • df.column_name / df[column_name]:查看DataFrame数据某列所有项
  • Serites.value_counts()/ df[column_index].value_counts():查看DataFrame数据中某列下各项数据的计数
排序
  • sort:
    df.sort_values():对值进行排序
    df.sort_index():对索引进行排序

例子:

df.sort_index(axis=1)#让列索引升序排序
df.sort_index(axis=1,ascending=False)#让列索引降序排序
df.sort_values(by=["a","c"],ascending=False)让任选两列数据同时降序排序

  • rank:
    df.rank():只显示排名而不对值进行排序
筛选
  • df[条件]

例子:

data1[data1["Age"]<10]
data1[(10<data1["Age"]) & (data1["Age"]<50)]

根据某筛选条件的形成新的数据需要加上.copy()

midage=data1[(10<data1["Age"]) & (data1["Age"]<50)].copy()

因为midage筛选过了,所以index会有缺失的,需要重新设置过index

midage.reset_index(inplace=True,drop=True)
读取
  • df.loc:根据index位置名称来读取
  • df.iloc:根据index位置数值来读取

具体例子:

loc
 #一行多列
midage.loc[101,["Pclass","Sex"]]
#多行多列
midage.loc[[100,105,108],["Pclass","Name","Sex"]]

iloc
#多行多列
midage.iloc[[101,106,109],2:5]
1.1.3 保存数据
  • df.to_csv(path)
结语

前三节课使用的语句学完了,但是语句具体运用到数据集中似乎好像还是有点欠缺的,这也是需要在日常的学习中有所注意。

(未完整,不定时更新)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值