gpt4 book ai didi

python - 有没有更好的方法来操作 pandas 数据框中的列名称?

转载 作者:行者123 更新时间:2023-12-01 07:03:44 26 4
gpt4 key购买 nike

我正在处理一个大型数据框,需要一种动态重命名列名称的方法。

这是我正在使用的一个缓慢的方法:

# Create a sample dataframe
df = pd.DataFrame.from_records([
{'Name':'Jay','Favorite Color (BLAH)':'Green'},
{'Name':'Shay','Favorite Color (BLAH)':'Blue'},
{'Name':'Ray','Favorite Color (BLAH)':'Yellow'},
])

# Current columns are: ['Name', 'Favorite Color (BLAH)']

# ------

# build two lambdas to clean the column names
f_clean = lambda x: x.split('(')[0] if ' (' in x else x
f_join = lambda x: '_'.join(x.split())
df.columns = df.columns.map(f_clean, f_join).map(f_join).str.lower()

# Columns are now: ['name', 'favorite_color']

有更好的方法来解决这个问题吗?

最佳答案

您可以定义一个 clean 函数,然后使用列表理解应用于所有列。

def clean(name):

name = name.split('(')[0] if ' (' in name else name
name = '_'.join(name.split())
return name

df.columns = [clean(col) for col in df.columns]

很清楚发生了什么,而且不会过于冗长。

关于python - 有没有更好的方法来操作 pandas 数据框中的列名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58531235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com