gpt4 book ai didi

python - 在数据框中连接列

转载 作者:太空宇宙 更新时间:2023-11-04 00:15:28 24 4
gpt4 key购买 nike

我有一个很大的 csv 文件,我在其中过滤掉了我想要的行,并创建了更小、更易于管理的数据框(称为“CL”)。每行在 Int64 中都有一个合约月份和合约年份(我相信)。我想创建一个以日期格式(例如 MM-YYYY)组合两者的列,但遇到了困难。

我已经尝试将列提取到 pandas 系列并转换为字符串

series.to_string

以及带有

的各个列
CL['CONTRACT MONTH']= CL['CONTRACT MONTH'].astype(str)

后一种方法给我一条消息“... SettingWithCopyWarning:试图在 DataFrame 的切片副本上设置一个值。尝试使用 .loc[row_indexer,col_indexer] = value 代替”

对此(刚刚学习 Python)我有些头疼,希望得到一些帮助。

最佳答案

您可以使用 + 连接 Pandas 系列中的字符串。此外,您可以使用 pd.Series.str.zfill 来确保月份始终有 2 个字符:

df = pd.DataFrame([[10, 1995], [3, 1996], [2, 1998], [5, 2000]],
columns=['MONTH', 'YEAR'])

df['DATE'] = df['MONTH'].astype(str).str.zfill(2) + '-' + df['YEAR'].astype(str)

print(df)

MONTH YEAR DATE
0 10 1995 10-1995
1 3 1996 03-1996
2 2 1998 02-1998
3 5 2000 05-2000

您的SettingWithCopyWarning 本身可能不代表问题。 Pandas 通常会猜测您正在对副本而不是 View 进行操作。如果您在上述解决方案中看到此警告,您可以安全地忽略它。

关于python - 在数据框中连接列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51140575/

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