数据分析入门 | kaggle泰坦尼克任务(二)—>pandas基础

请添加图片描述

系列索引:数据分析入门 | kaggle泰坦尼克任务

一、pandas基础

(1)数据类型

  1. DateFrame

  2. Series

sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000}
example_1 = pd.Series(sdata)
example_1

data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'],
        'year': [2000, 2001, 2002, 2001, 2002, 2003],'pop': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}
example_2 = pd.DataFrame(data)
example_2

我个人理解的是,Series是一个字典型的,而DataFrame则是像一个excel表格。

(2)基本操作

1. 导入并查看DataFrame每列的名称:

df.columns

2. 查看"Cabin“这列的所有值:

df['Cabin'] or df.Cabin

3. 删除某一列:

del test_1['a'] 或者 df.drop(['xxx'], axis = 1) 也可以使用该方法删除多列

4. 如果想要完全的删除你的数据结构,使用inplace = True将原数据进行覆盖。

(3)筛选的逻辑

1. 以’Age’为筛选条件,显示年龄在10岁以下的乘客信息。

 df[df['Age']<10].head(3)

2. 交集:筛选在10-50岁的乘客:

  midage = df[(df["Age"]>10)& (df["Age"]<50)]
  midage.head(3)

3. 将上述midage的第100行的指定数据输出:

  midage = midage.reset_index(drop=True)
  midage.head(3)

注意这里使用了reset_index()函数,reset_index()方法可能最经常使用的地方是处理groupby()方法调用后的数据。其功能是将原来的index设置为列,与set_index()方法的功能相反。

df=pd.read_excel(r'D:/myExcel/1.xlsx', index_col='id')
>>> df
id    name  score grade                    
a     bog   45.0     A
c   jiken   67.0     B
i     bob   23.0     A
b   jiken   34.0     B
g    lucy    NaN     A
e    tidy   75.0     B

# 将index恢复为id列
>>> df.reset_index()
  id   name  score grade
0  a    bog   45.0     A
1  c  jiken   67.0     B
2  i    bob   23.0     A
3  b  jiken   34.0     B
4  g   lucy    NaN     A
5  e   tidy   75.0     B

默认名称为index,可以通过df.index.name来进行修改。
索引的值也可以修改,参考以下代码:

>>> df.set_index(pd.Series(['f', 'b', 'g', 'm', 'k', 'l']), inplace=True)
>>> df
  id   name  score grade
f  a    bog   45.0     A
b  c  jiken   67.0     B
g  i    bob   23.0     A
m  b  jiken   34.0     B
k  g   lucy    NaN     A
l  e   tidy   75.0     B
# 为index指定个名字
>>> df.index.name='newId'
>>> df
      id   name  score grade
newId
f      a    bog   45.0     A
b      c  jiken   67.0     B
g      i    bob   23.0     A
m      b  jiken   34.0     B
k      g   lucy    NaN     A
l      e   tidy   75.0     B
>>> df.reset_index()
  newId id   name  score grade
0     f  a    bog   45.0     A
1     b  c  jiken   67.0     B
2     g  i    bob   23.0     A
3     m  b  jiken   34.0     B
4     k  g   lucy    NaN     A
5     l  e   tidy   75.0     B

然后将第100行的两列数值输出出来,代码:

midage.loc[[100],['Pclass','Sex']]

这里简单介绍一下 :

(4)loc函数iloc函数

在数据分析过程中,很多时候需要从数据表中提取出相应的数据,而这么做的前提是需要先“索引”出这一部分数据。虽然通过 Python 提供的索引操作符"[]“和属性操作符”."可以访问 Series 或者 DataFrame 中的数据,但这种方式只适应与少量的数据,为了解决这一问题,Pandas 提供了两种类型的索引方式来实现数据的访问。

.loc[]:基于标签索引选取数据
df.loc[] 只能使用标签索引,不能使用整数索引。当通过标签索引的切片方式来筛选数据时,它的取值前闭后闭,也就是只包括边界值标签(开始和结束)。
loc[] 接受两个参数,并以’,'分隔。第一个位置表示行,第二个位置表示列。

df.loc['a':'d',:] # 等同于df.loc['a':'d'],选出第a-d行,:和matlab中的类似代表全部行/列的数据。
df.loc[['a','b','f','h'],['A','C']] # 也可以使用列表选择多列。

.iloc[]:基于整数索引选取数据
df.iloc[] 只能使用整数索引,不能使用标签索引,通过整数索引切片选择数据时,前闭后开(不包含边界结束值)。
同 Python 和 NumPy 一样,它们的索引都是从 0 开始。

df.iloc[2,:] #第3行

加油!干就完了!

数据分析入门 | kaggle泰坦尼克任务 系列持续更新,欢迎点赞收藏关注

上一篇:数据分析入门 | kaggle泰坦尼克任务(一)—>数据加载和初步观察
下一篇:

本人水平有限,文章中不足之处欢迎下方👇评论区批评指正~

如果感觉对你有帮助,点个赞👍 支持一下吧 ~

不定期分享 有趣、有料、有营养内容,欢迎 订阅关注 🤝 我的博客 ,期待在这与你相遇 ~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿知

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值