【发布时间】:2019-05-27 10:26:29
【问题描述】:
我有这个 csv 文件示例:(将其读取为项目 AAA 成本 1000,项目 AAA(1) 成本 2000)
ColumnName
AAA (1000)
AAA (1) (2000)
我想创建一个包含所有数字的 pandas 数据框列
即
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]
【问题讨论】:
-
@yatu,抱歉,是的,谢谢它的工作(我认为我的赞成票不算数,因为我是新用户),但是,因为我还是新手,我更喜欢使用另一个方法,因为它是我的代码的一个小变化,再次感谢