python如何输入数据形成列表_Python pandas将列表插入到单元格中

Python pandas将列表插入到单元格中

我有一个列表'abc'和一个数据帧'df':

abc = ['foo', 'bar']

df =

A B

0 12 NaN

1 23 NaN

我想将列表插入单元格1B,所以我想要这个结果:

A B

0 12 NaN

1 23 ['foo', 'bar']

我可以这样做吗?

1)如果我使用这个:

df.ix[1,'B'] = abc

我收到以下错误消息:

ValueError: Must have equal len keys and value when setting with an iterable

因为它试图将列表(有两个元素)插入行/列但不插入单元格。

2)如果我使用这个:

df.ix[1,'B'] = [abc]

然后它插入一个只有一个元素是'abc'列表([['foo', 'bar']])的列表。

3)如果我使用这个:

df.ix[1,'B'] = ', '.join(abc)

然后它插入一个字符串:( foo, bar)但不是列表。

4)如果我使用这个:

df.ix[1,'B'] = [', '.join(abc)]

然后它插入一个列表,但它只有一个元素(['foo, bar'])但不是我想要的两个(['foo', 'bar'])。

感谢帮助!

编辑

我的新数据框和旧列表:

abc = ['foo', 'bar']

df2 =

A B C

0 12 NaN 'bla'

1 23 NaN 'bla bla'

另一个数据帧:

df3 =

A B C D

0 12 NaN 'bla' ['item1', 'item2']

1 23 NaN 'bla bla' [11, 12, 13]

我想将'abc'列表插入df2.loc[1,'B']和/或df3.loc[1,'B']。

如果数据帧仅包含具有整数值和/或NaN值和/或列表值的列,则将列表插入单元格可以完美地工作。如果数据帧仅包含字符串值和/或NaN值和/或列表值,则将列表插入单元格可以完美地工作。但是,如果数据框具有包含整数和字符串值以及其他列的列,则出现错误消息,如果我使用此:df2.loc[1,'B'] = abc或df3.loc[1,'B'] = abc。

另一个数据帧:

df4 =

A B

0 'bla' NaN

1 'bla bla' NaN

这些插件完美地工作:df.loc[1,'B'] = abc或df4.loc[1,'B'] = abc。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值