📅  最后修改于: 2023-12-03 14:52:30.821000             🧑  作者: Mango
在数据分析和处理中,我们经常需要对数据框中的列进行修改或调整。本文将介绍在 Python 中更改数据框列的几种方法。
我们可以使用数据框的列索引来修改列名,例如:
import pandas as pd
df = pd.read_csv('data.csv')
# 修改第一列的列名
df.columns.values[0] = 'id'
思路:通过 columns.values
方法获取数据框的列名列表,然后通过索引值修改对应的列名。
我们也可以使用 rename()
方法来修改列名,例如:
import pandas as pd
df = pd.read_csv('data.csv')
# 将 id 列名修改为编号
df = df.rename(columns={'id':'编号'})
思路:使用 rename()
方法,传入一个字典,字典 key 为原列名,value 为新列名。
我们可以使用 insert()
方法在数据框的任意位置插入新的列,例如:
import pandas as pd
df = pd.read_csv('data.csv')
# 在第二列插入新的列 score
df.insert(1, 'score', [80, 90, 85, 76, 92])
思路:使用 insert()
方法,传入列索引位置和列名,再传入列元素列表即可。
我们可以直接修改数据框列的元素值,例如:
import pandas as pd
df = pd.read_csv('data.csv')
# 将 id 为 1 的行的 name 修改为 Alice
df.loc[df['id'] == 1, 'name'] = 'Alice'
思路:使用 loc[]
方法指定要修改的行和列,并直接赋值新的元素值即可。
我们可以使用 apply()
方法遍历数据框列,并对每个元素应用自定义函数实现列元素调整,例如:
import pandas as pd
df = pd.read_csv('data.csv')
# 对 score 列进行调整,增加 5 分
df['score'] = df['score'].apply(lambda x: x + 5)
思路:使用 apply()
方法,传入一个 lambda 函数,并返回修改后的元素值即可。
以上就是几种常见的方法来修改 Python 中数据框的列,每种方法都有其适用的场景。需要根据具体的业务场景和数据要求来选择合适的方法进行数据处理。