📅  最后修改于: 2023-12-03 14:54:55.607000             🧑  作者: Mango
数据框是数据分析中最基础的数据结构之一,它是一个二维的表格,其中每一列可以是不同的数据类型。在 Python 中,我们可以使用 Pandas 库来创建和处理数据框。
一个数据框通常包含若干行数据以及对应的行索引和列索引。在 Pandas 中,我们可以使用 loc 和 iloc 来选择特定的行。
loc:通过标签来访问行数据。
# 创建数据框
import pandas as pd
data = {'Name': ['Alex', 'Bob', 'Charlie'],
'Age': [20, 30, 40],
'Gender': ['M', 'M', 'F']}
df = pd.DataFrame(data)
# 通过 loc 来访问行数据
df.loc[0] # 返回第一行数据
iloc:通过行索引来访问行数据。
# 通过 iloc 来访问行数据
df.iloc[0] # 返回第一行数据
除了选择单独的行之外,我们还可以筛选出满足一定条件的行。在 Pandas 中,可以使用布尔索引和 query 来实现。
布尔索引:根据条件生成一个同样大小的布尔数组,将满足条件的设置为 True,不满足的设置为 False。
# 筛选出 Age 大于 20 的行
df[df['Age'] > 20]
query:根据给定的查询条件筛选行数据。
# 筛选出 Name 中包含 'a' 的行
df.query("Name.str.contains('a')")
在 Pandas 中,我们可以使用 append 方法来添加新的行数据。
# 添加新行
new_row = {'Name': 'David', 'Age': 25, 'Gender': 'M'}
df = df.append(new_row, ignore_index=True) # ignore_index 表示重新设置行索引
如果要更新单个 cell 的值,我们可以使用 loc。如果要更新整行数据,则需要重新赋值。
# 更新单个 cell
df.loc[0, 'Name'] = 'Alex Li'
# 更新整行数据
df.loc[0] = ['Alex Li', 20, 'M']
在 Pandas 中,我们可以使用 drop 方法来删除指定的行数据,也可以使用条件选取的方式来删除。
通过 index 删除指定的行
df.drop(index=[0, 1], inplace=True) # inplace 表示修改原始数据
通过条件筛选删除行
df.drop(df[df['Name'] == 'Charlie'].index, inplace=True)
以上就是在 Python 中对数据框行进行操作的一些基本方法。通过这些方法可以实现对数据分析中最基础的数据结构之一 —— 数据框的灵活处理。