gpt4 book ai didi

python - 检索 Panda Dataframe 列中列表的最后一个元素

转载 作者:太空宇宙 更新时间:2023-11-04 01:58:05 42 4
gpt4 key购买 nike

我有这个 csv 文件示例:(读作 AAA 项目成本 1000,项目 AAA(1) 成本 2000)

ColumnName
AAA (1000)
AAA (1) (2000)

我想创建一个包含所有数字的 pandas dataframe 列

Column_cost
1000
2000

我试图用“(”拆分它,它返回类似下面的内容(因为第二个项目的名称中有“(”:

Result 1
Col_1 Col_2 Col_3

AAA 1000) None

AAA 1) 2000)

所以数字不在同一列

然后我尝试创建一列列表,它给出

Result 2

ColumnName2

[AAA,1000)]

[AAA,1),2000)]

但同样,我不知道如何创建一个使用每个列表的最后一个元素的列。

我可以为特定索引获取它,但不能为整个列获取它

x = df['ColumnName'].str.split('(',expand=True) gives Result 1 above

x = df['ColumnName'].str.split('(') gives Result 2 above

根据结果 2,我执行了以下操作以获得一个特定单元格的所需结果,但我不知道如何为整个列执行此操作(我可以为小型数据集执行此操作,但不能为大型数据集执行此操作一)

检索特定索引的列表,获取列表的最后一个元素,将其按空格拆分,然后检索拆分列表的新元素

x[0][-1].split()[0]
x[1][-1].split()[0]

最佳答案

另一种使用 Series.str.split 的解决方案, str.stripastype :

df['Column_cost'] = df.ColumnName.str.split('(').str[-1].str.strip(')').astype(int)

[输出]

       ColumnName  Column_cost
0 AAA (1000) 1000
1 AAA (1) (2000) 2000

关于python - 检索 Panda Dataframe 列中列表的最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56324232/

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