将列表分配给 df 的子集

宾亚明连

所以我有一个 df,我想根据子集为特定列分配一个列表。所以让我们说这是我的 df:

d = {'foo':[100, 111, 222], 
'bar':[333, 444, 555]}
df = pd.DataFrame(d)

>>df
    bar   foo 
 0  333   100
 1  444   111
 2  555   222

我现在想分配[1,2,3,4]给列的第一行和第三行foo,以获得这个 df:

    bar   foo 
 0  333   [1,2,3,4]
 1  444   111
 2  555   [1,2,3,4]

我希望是这样的:

df.loc[[0,2],'foo'] = [1,2,3,4]

工作,但它会产生以下错误:

ValueError: shape mismatch: value array of shape (4,) could not be broadcast to indexing result of shape (2,)

使用at

df.at[[0,2],'foo'] = [1,2,3,4]

抛出同样的错误。

有任何想法吗?

谢谢!

斯科特·波士顿

尝试:

indx = [0,2]
df.loc[indx, 'foo'] = pd.Series([[1,2,3,4]] * len(indx), index=indx)  
df

@MadPhysicist 评论了一个更好的解决方案
df.loc[indx, 'foo'] = pd.Series([[1,2,3,4] for _ in range(len(indx))], index = indx)

输出:

            foo  bar
0  [1, 2, 3, 4]  333
1           111  444
2  [1, 2, 3, 4]  555

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将列分配给pandas df

将新值分配给Pandas DataFrame的子集

InterstageBPM:将任务分配给角色子集

将df的子集传递给函数-Python

将列表值分配给 Pandas df 列会生成 NaN 或长度错误

将 df 中的数据分配给 Python 中带有循环的列表

分配给向量的跨步子集

根据应用于列表项的条件获取df子集

有空白时,根据嵌套列表的子集df

将值分配给另一个df的df $列?

如何将许多子集分配给它们的最大超集?

如何根据R中元素中字母“ A”的数量将元素分配给不同的子集?

将数组子集分配给Matlab中另一个数组的成员

将值随机分配给pandas数据框中的行子集

子集df并删除子集R的行

将data.table的子集分配给另一个data.table的子集

如何基于概率分布将从列表中选择的值分配给df列?

子集df调整时间戳

使用条件的子集 df - pandas

使用子集创建新的df

熊猫:如何在函数内将sum()或mean()分配给df.groupby?

使用第二个熊猫df中的条件将值分配给列

range(1:len(df))将NaN分配给数据帧中的最后一行

如何将列名称从源数据帧分配给目标df

使用np.where有条件地将值分配给DF列

将列名分配给 df,阻止字符自动转换为数字?

根据日期将新变量(来自不同的df)分配给数据框

无法将值分配给多索引数据帧中的单元格(分配给df的副本/切片?)

带有列表的列中按字符串排列的熊猫df子集