python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现

  • Post category:Python

在Python中,pandas库是一个十分常用的数据分析工具,其中pandas.DataFrame是pandas库中一个核心的数据结构,可以用来处理表格型数据。在对这个数据结构进行数据选取、修改时,推荐使用.loc、.iloc、.ix三个方法来实现,这也是pandas官方推荐的方法。

1. .loc方法

.loc方法是一种使用标签(也就是行索引和列索引)来进行数据选取和修改的方法。

以下是示例代码:

import pandas as pd

# 创建一个包含姓名、年龄、城市的DataFrame
data = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [20, 25, 30], 'City': ['Beijing', 'Shanghai', 'Guangzhou']})

# 选取第一行数据
print(data.loc[0])

# 修改第一行的Age为22
data.loc[0, 'Age'] = 22

# 输出修改后的DataFrame
print(data)

以上代码使用.loc方法选取了第一行数据,并且使用.loc方法修改了第一行Age的值。具体来说,.loc[0]表示选取第一行数据,.loc[0, ‘Age’]表示选取第一行的Age列,并将其修改为22。

2. .iloc方法

.iloc方法是一种使用位置下标(也就是行下标和列下标)来进行数据选取和修改的方法。

以下是示例代码:

import pandas as pd

# 创建一个包含姓名、年龄、城市的DataFrame
data = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [20, 25, 30], 'City': ['Beijing', 'Shanghai', 'Guangzhou']})

# 选取第一行数据
print(data.iloc[0])

# 修改第二行的Age为27
data.iloc[1, 1] = 27

# 输出修改后的DataFrame
print(data)

以上代码使用.iloc方法选取了第一行数据,并且使用.iloc方法修改了第二行Age的值。具体来说,.iloc[0]表示选取第一行数据,.iloc[1, 1]表示选取第二行的Age列,并将其修改为27。

3. .ix方法

.ix方法可以同时支持使用标签和位置下标进行数据选取和修改,但是由于其用法较为模糊,已经在pandas的最新版本中被弃用。因此,不推荐使用.ix方法进行数据选取和修改。

综上所述,.loc、.iloc方法是比较推荐使用的数据选取、修改方法。其中.loc方法使用标签进行选取、修改,.iloc方法使用位置下标进行选取、修改。在实际应用中,可以根据具体情况选择使用其中的一种方法。