day2,基础篇2

本文介绍了Pandas库中的DataFrame和Series数据结构,阐述了它们的定义、创建方式、索引机制以及在数据处理中的应用。DataFrame适用于表格数据,Series则适合一维数据,两者共同支撑高效的数据分析。还对比了iloc和loc两种不同的数据访问方式。
摘要由CSDN通过智能技术生成

接着上一篇写,仍然有部分任务跳过

任务一DateFrame和Series

自行查阅资料了解

资料1

资料2

资料3

以下内容来源于讯飞

Pandas中的DataFrame和Series是两种核心的数据结构,**它们用于数据处理和分析**。以下是关于这两种数据结构的详细介绍:

1. DataFrame:
   - **定义**:DataFrame是一个表格型的数据结构,可以看作是一个Excel表格或SQL表。它由一组有序的列构成,这些列可以是不同的数据类型,如数值、字符串或布尔值。
   - **索引**:DataFrame既有行索引也有列索引,这使得它在二维标签化数据方面非常灵活。
   - **创建**:可以通过多种方式创建DataFrame,包括通过字典、通过另一个DataFrame、或者直接指定数据和列索引等方法来创建。
   - **操作**:DataFrame支持各种操作,如取某一列、某几列、某行,以及更复杂的数据操作比如分组、合并、重塑等。

2. **Series**:
   - **定义**:Series类似于一维数组对象,它包含一组值和对应的索引。Series可以被视为带标签的一维数组,这些标签也被称为索引。
   - **索引**:Series只有行索引,这意味着它是一维的,并且每个值都有一个与之关联的索引标签。
   - **创建**:可以通过列表、字典等方式创建Series。当使用字典创建时,字典的键会成为索引,而值会成为Series中的数据。
   - **性能**:Series在性能上类似于Numpy的ndarray,同时也提供了类似字典的访问方式,可以通过索引标签快速获取数据。

总的来说,DataFrame适合处理表格形式的数据,而Series则更适合处理一维数据序列。两者都是建立在Numpy基础之上的,因此在性能上非常高效,是进行数据分析不可或缺的工具。在实际应用中,DataFrame和Series常常配合使用,以完成更为复杂的数据处理任务。

ps:我认为简单看看有点印象就行

练习

简单写一个关于二者的小例子

官方给的例子以及运行结果

#我们举的例子
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

 理解:创建三个数据框/“字典”

ps:这里和字典很像,但不是,可以理解成字典

举例:

s2 = pd.Series(list(range(1,8)))
s2

默认列名还有索引,值是range里的。

列名是1,索引是0开始。

import pandas as pd

# 创建Series
temperatures = pd.Series([25, 28, 30, 26, 24], index=['北京', '上海', '广州', '深圳', '杭州'])

print(temperatures)

任务二到六

删除指定列可以用pop,dwl,drop

输出指定列的值

思考题

iloc与loc的区别

简单来讲,一个通过标签(loc)一个通过位置(iloc)。

  • loc 是通过标签(label)进行索引,例如,df.loc[row_labels, col_labels]。这里的 row_labels 是行标签,col_labels 是列标签。
  • iloc 是通过位置(integer position)进行索引,例如,df.iloc[row_positions, col_positions]。这里的 row_positions 是行位置,col_positions 是列位置。

具体来说,假设有一个DataFrame df,其行标签为 ['A', 'B', 'C'],列标签为 ['X', 'Y', 'Z'],如果你想选择第一行和第二列,你可以这样做:

  • 使用 loc: df.loc['A', 'Y']
  • 使用 iloc: df.iloc[0, 1]
midage_row_100 = midage.iloc[99][['Pclass', 'Sex']]  
print(midage_row_100)midage_row_100 = midage.iloc[99][['Pclass', 'Sex']]  
print(midage_row_100)
selected_rows = midage.loc[[99, 104, 107], ['Pclass', 'Name', 'Sex']]  # 注意这里的索引与iloc不同,是直接使用标签索引  
print(selected_rows)

 

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值