gpt4 book ai didi

python - 在 Pandas 中按顺序重命名重复的列名

转载 作者:行者123 更新时间:2023-12-04 13:05:30 25 4
gpt4 key购买 nike

我有一个数据框 df,我想在其中按连续顺序重命名两个重复的列:
数据

DD  Nice Nice Hello
0 1 1 2
欲购
DD  Nice1 Nice2 Hello
0 1 1 2
df.rename(columns={"Name": "Name1", "Name": "Name2"})
我正在运行 rename但是,由于两个列名称相同,因此结果并不理想。

最佳答案

您可以使用 itertools.count() counter 和一个列表表达式来创建新的列标题,然后将它们分配给数据框。
例如:

>>> import itertools
>>> df = pd.DataFrame([[1, 2, 3]], columns=["Nice", "Nice", "Hello"])
>>> df
Nice Nice Hello
0 1 2 3
>>> count = itertools.count(1)
>>> new_cols = [f"Nice{next(count)}" if col == "Nice" else col for col in df.columns]
>>> df.columns = new_cols
>>> df
Nice1 Nice2 Hello
0 1 2 3
(f 字符串需要 Python 3.6+)
编辑 :或者,根据下面的评论,列表表达式可以替换任何可能包含 "Nice" 的标签。如果有意外的空格或其他字符:
new_cols = [f"Nice{next(count)}" if "Nice" in col else col for col in df.columns]

关于python - 在 Pandas 中按顺序重命名重复的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69682403/

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