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

数据分析入门 | 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

>>> 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

>>> 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&#x51FD;&#x6570;iloc&#x51FD;&#x6570;

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

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

df.loc['a':'d',:]
df.loc[['a','b','f','h'],['A','C']]

.iloc[]:基于整数索引选取数据
df.iloc[] 只能使用 &#x6574;&#x6570;&#x7D22;&#x5F15;,不能使用标签索引,通过整数索引切片选择数据时, &#x524D;&#x95ED;&#x540E;&#x5F00;(不包含边界结束值)。
同 Python 和 NumPy 一样,它们的索引都是从 0 开始。

df.iloc[2,:]

&#x52A0;&#x6CB9;&#xFF01;&#x5E72;&#x5C31;&#x5B8C;&#x4E86;&#xFF01;

数据分析入门 | kaggle泰坦尼克任务 系列持续更新,欢迎 &#x70B9;&#x8D5E;&#x6536;&#x85CF;&#x5173;&#x6CE8;

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

本人水平有限,文章中不足之处欢迎下方👇评论区批评指正~
如果感觉对你有帮助,点个赞👍 支持一下吧 ~
不定期分享 有趣、有料、有营养内容,欢迎 订阅关注 🤝 我的博客 ,期待在这与你相遇 ~

Original: https://blog.csdn.net/Magic_Zsir/article/details/123512864
Author: 猿知
Title: 数据分析入门 | kaggle泰坦尼克任务(二)—>pandas基础

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/700025/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球