【Pandas】(4)基本操作

本文详细介绍了Pandas在数据操作中的各种方法,包括选择数据、修改数据、运算、统计、排序、处理缺失值、数据合并及分组等。重点讲解了如何使用点操作符和方括号获取列,以及如何根据条件选择数据和行。还涵盖了如何修改单个值、添加列、使用条件赋值,以及如何进行数据排序、处理缺失值和合并数据。此外,还介绍了统计分析功能,如描述性统计、相关性和协方差,以及数据的输入输出操作。
摘要由CSDN通过智能技术生成

选择数据

获取列

单列获取

要获取 DataFrame 的单个列,你可以使用列名以两种不同的方式:

  1. 使用点(.)操作符,这种方式更像是访问对象的属性。
  2. 使用方括号([])和列名,这种方式更像是从字典中获取值。

假设我们有以下 DataFrame:

import pandas as pd

data = {
   
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'Salary': [50000, 70000, 80000]
}

df = pd.DataFrame(data)

获取 “Name” 列:

# 使用点操作符
name_column_dot = df.Name

# 使用方括号
name_column_brackets = df['Name']
多列获取

要获取 DataFrame 的多个列,你需要使用方括号([])将列名的列表传递给它。这将返回一个新的 DataFrame,只包含指定的列。

获取 “Name” 和 “Age” 列:

columns = df[['Name', 'Age']]
列的条件选择

你可以使用条件表达式来选择满足特定条件的列。这通常结合使用布尔索引完成。

选择 “Salary” 大于 60000 的所有记录:

high_salary = df[df['Salary'] > 60000]
动态选择列

当你需要根据变量或计算结果来选择列时,可以使用 .loc[].iloc[] 方法。.loc[] 用于基于列名选择,而 .iloc[] 用于基于列的整数位置选择。

# 使用 .loc[] 选择 'Name' 和 'Age' 列
selected_columns_loc = df.loc[:, ['Name', 'Age']]

# 使用 .iloc[] 选择前两列
selected_columns_iloc = df.iloc[:, 0:2]

获取行

使用 .loc[] (基于标签)

.loc[] 方法允许你通过标签索引来选择数据。当你知道行的标签名时,可以使用此方法。

import pandas as pd

data = {
   
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'Salary': [50000, 70000, 80000]
}
df = pd.DataFrame(data, index=['a', 'b', 'c'])

# 选择标签为 'a' 的行
row_a = df.loc['a']

# 选择标签为 'a' 和 'b' 的行
rows_ab = df.loc[['a', 'b']]
使用 .iloc[] (基于位置)

.iloc[] 方法允许你通过行的位置(整数索引)来选择数据。这是在你知道行的具体位置时的选择方法。

# 选择第一行
first_row = df.iloc[0]

# 选择前两行
first_two_rows = df.iloc[0:2]
使用条件表达式

你可以使用条件表达式来选择满足特定条件的行。这通常是通过将条件表达式放在方括号内完成的。

# 选择 Age 大于 30 的所有行
older_than_30 = df[df['Age'] > 30]
使用切片

对于连续的行,你还可以使用 Python 的切片语法来选择行。这种方法既可以用在 .loc[] 也可以用在 .iloc[] 中。

# 使用切片选择前两行
first_two_rows_slice = df[0:2]
使用 .at[].iat[] 获取单个值

当你需要访问 DataFrame 的单个元素时,.at[](基于标签)和 .iat[](基于整数位置)方法提供了更快的访问方式。

# 使用 .at[] 获取特定单元格的值
name_of_a = df.at['a', 'Name']

# 使用 .iat[] 获取特定单元格的值
first_name = df.iat[0, 0]

修改数据

在 Pandas 中,赋值操作是数据处理的核心部分,它允许你在 DataFrameSeries 中修改、添加或更新数据。Pandas 提供了灵活的赋值方法,适用于各种数据操作需求。这里将详细介绍如何在 Pandas 中进行赋值。

修改单个值

使用 .at[].iat[]
  • .at[] 用于根据行标签和列标签修改单个值。
  • .iat[] 用于根据行和列的位置(整数索引)修改单个值。
import pandas as pd

df = pd.DataFrame({
   'A': [1, 2, 3], 'B': [4, 5, 6]})

# 使用行标签和列标签
df.at[0, 'A'] = 10

# 使用行和列的位置
df.iat[0, 1] = 40

修改多个值

使用布尔索引

布尔索引允许你根据条件来修改符合条件的多个值。

df[df['A'] > 1] = -1
使用 .loc[].iloc[]
  • .loc[] 根据行标签和列标签选择数据进行修改。
  • .iloc[] 根据行和列的位置选择数据进行修改。
# 修改第一行的 'A' 列
df.loc[0, 'A'] = 20

# 修改前两行的 'B' 列
df.loc[:1, 'B'] = [50, 60]

# 使用 .iloc 修改第一行第一列
df.iloc[0, 0] = 30

添加或更新列

直接赋值

直接赋值是添加新列或修改现有列最直接的方法。

# 添加新列 'C'
df['C'] = [7, 8, 9]

# 修改列 'A'
df['A'] = [100, 200, 
  • 12
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

游码客

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

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

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

打赏作者

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

抵扣说明:

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

余额充值