📜  数据框行 - Python (1)

📅  最后修改于: 2023-12-03 14:54:55.607000             🧑  作者: Mango

数据框行 - Python

数据框是数据分析中最基础的数据结构之一,它是一个二维的表格,其中每一列可以是不同的数据类型。在 Python 中,我们可以使用 Pandas 库来创建和处理数据框。

一个数据框通常包含若干行数据以及对应的行索引和列索引。在 Pandas 中,我们可以使用 loc 和 iloc 来选择特定的行。

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 中对数据框行进行操作的一些基本方法。通过这些方法可以实现对数据分析中最基础的数据结构之一 —— 数据框的灵活处理。