📜  pandas 从索引创建列 - Python (1)

📅  最后修改于: 2023-12-03 15:33:24.195000             🧑  作者: Mango

Pandas 从索引创建列 - Python

在 Pandas 中,可以通过索引来创建新的列。我们仍然可以使用 DataFrame 中的 insert() 方法来实现这个过程。

下面是一个简单的例子:

import pandas as pd

# 创建一个简单的数据帧
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'David'],
                   'age': [25, 32, 18, 47],
                   'gender': ['F', 'M', 'M', 'M']})

# 创建一个新的“initial”列,用于存储姓名的首字母
df.insert(loc=0, column='initial', value=df['name'].str[0])

在上面的代码片段中,我们首先创建了一个简单的数据帧 df,该数据帧包含了人名、年龄和性别。接下来,我们使用 insert() 方法,在第 0 个位置插入了一个新的 initial 列,该列的值是每个姓名的首字母。我们使用 Pandas 中的 str 函数和字符串切片来获取首字母。

我们也可以使用其他方法来实现同样的目标。例如,我们可以使用 apply() 函数来将一个函数应用于所有行或列:

import pandas as pd

# 创建一个简单的数据帧
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'David'],
                   'age': [25, 32, 18, 47],
                   'gender': ['F', 'M', 'M', 'M']})

# 创建一个新的“initial”列,用于存储姓名的首字母
df['initial'] = df['name'].apply(lambda x: x[0])

在上面的代码片段中,我们使用 apply() 函数,将一个匿名函数应用于 name 这一列中的每个值,并将结果存储在一个新的名为 initial 的列中。

当然,这只是从索引创建新列的两种实现方式,实际应用中可能还有其他的方法。

总之,Pandas 中的索引提供了一种方便的方式来访问数据帧中的数据,并支持快速创建新列。