【发布时间】:2018-11-26 07:06:19
【问题描述】:
我在 DF 数据框中有 A 列。当前;y,它看起来像这样:
A
1 [32000, 56000, 12000]
2 [32000, 12000]
3 []
4 [25]
.
.
有些单元格是空列表。我想将每行的值提取为整数或浮点数并对总值求和。我尝试这样做并收到以下消息:
[[float(i) for i in k] for k in DF['A'] ]
ValueError: could not convert string to float:
我想要什么:
A
1 100000
2 44000
3 0 and so on.
我根据建议发布了一些结果:
import ast
DF.A.apply(ast.literal_eval) (ValueError: malformed node or string: [])
DF.A.head().to_dict()
返回:
{0: [],
1: ['32000', '56000', '12000'],
2: [],
3: [],
4: ['2000', '1500', '1000', '10', '1000']}
注意:我根据客户叙述创建了数据框。我试图清理标点符号和不相关的字符。每行的叙述如下。
" XYZ foo bar foo XYZ { $130 } XYX bar foo { $260 }" 或 “XYZ bar foo”(本文中没有提到美元)。所有这些都是行
我创建了一个新列来表示提到的美元价值。如上所述,我将叙述简化为仅数字。
另外,如果我可以提取每行叙述中提到的总美元价值的总和,而无需清理叙述(以避免潜在问题),那也可以。我试图对原始叙述做一些正则表达式,但未能提取 {$ } 之间指示的金额——这就是每行叙述中美元价值的表示方式。
【问题讨论】:
-
如果您仍需要帮助,请提供minimal reproducible example。该示例应包括您如何创建数据框。