【发布时间】:2021-08-24 16:29:43
【问题描述】:
我有一个 DataFrame grouped_reps,其中包含名称和与这些名称相关的特定数字数组。
数据框基本上是这样的:
grouped_reps = pd.DataFrame({
'A': ['John', 'Mary', 'Tom'],
'util_rate': [[1.0, 0.75, 0.90], [1.0, 0.80, 0.87],
[0.74, 0.34, 0.90, 0.45]]
})
这两列目前都是对象数据类型。
我正在尝试获取与名称关联的每个数组的平均值并将其存储在数据框中的新列中,但为此我必须先将数组转换为浮点数组。我正在尝试这样做:
grouped_reps["util_rate"] = grouped_reps["util_rate"].astype(str).astype(float)
但我收到此错误:
ValueError: could not convert string to float: '[1.0, 0.75, 0.9]'
【问题讨论】:
-
@HenryEcker 我不知道如何使问题可重现,因为这个问题对我来说是独一无二的,因为我有一个导入的数据集。
-
@garchukins 您的编辑朝着正确的方向前进!看看我为一些想法所做的编辑。通常,您要确保您的尝试也适用于示例帧,例如,如果数据帧为
grouped_reps,则不要将其称为df,如果列是“util_rate”,则不要将其称为“B” .此外,报告 sample 数据的错误消息,以便重现。 -
@HenryEcker 非常感谢您的帮助!你帮助我理解了我做错了什么。
标签: python arrays pandas dataframe