【发布时间】:2020-04-17 06:56:25
【问题描述】:
我有以下虚拟数据的DataFrame
data = { 'user_id': np.random.randint(1000000, 10000000, size=(10)), 'week': np.random.randint(1, 10, size=(10)) }
df = pd.DataFrame(data = data)
我想添加一个新列,其值是长度为week 的数组(这些数组包含随机值)。这些都不起作用
df.loc[:,'inputs'] = np.random.randint(0, 28, size=(10))
(为每个 DataFrame 单元格提供一个整数,而不是它们的数组)
df.loc[:,'inputs'] = np.random.randint(0, 28, size=(df['week']))
ValueError:值的长度与索引的长度不匹配
df.loc[:,'inputs'] = np.random.randint(0, 28, size=(10, df['week']))
ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
这些显然都是错误的,但我看不出如何创建一个新列,其条目是每个数组,其中这些数组的长度取决于同一行中另一列的值。
【问题讨论】:
-
语言标签请
-
@MadPhysicist,我认为语言标签会产生误导,这不是一般的 Python 问题,它特定于熊猫。我将编辑标题以使其更清晰
-
没有 python 就无法使用 pandas。好吧,至少不是正常的方式。
-
确实如此,但是在没有 pandas 的情况下编写 Python 的方法有很多。这个问题只对编写 pandas 的人感兴趣,而不是所有 Python 程序员,因此标签。