Python pandas insert list into a cell
来源:互联网 发布:mac怎么局部截图 编辑:程序博客网 时间:2024/06/08 09:27
http://stackoverflow.com/questions/26483254/python-pandas-insert-list-into-a-cell
I have a list 'abc' and a dataframe 'df':
abc = ['foo', 'bar']df = A B0 12 NaN1 23 NaN
I want to insert the list into cell 1B, so I want this result:
A B0 12 NaN1 23 ['foo', 'bar']
Ho can I do that?
1) If I use this:
df.ix[1,'B'] = abc
I get the following error message:
ValueError: Must have equal len keys and value when setting with an iterable
because it tries to insert the list (that has two elements) into a row / column but not into a cell.
2) If I use this:
df.ix[1,'B'] = [abc]
then it inserts a list that has only one element that is the 'abc' list ( [['foo', 'bar']]
).
3) If I use this:
df.ix[1,'B'] = ', '.join(abc)
then it inserts a string: ( foo, bar
) but not a list.
4) If I use this:
df.ix[1,'B'] = [', '.join(abc)]
then it inserts a list but it has only one element ( ['foo, bar']
) but not two as I want ( ['foo', 'bar']
).
Thanks for help!
EDIT
My new dataframe and the old list:
abc = ['foo', 'bar']df2 = A B C0 12 NaN 'bla'1 23 NaN 'bla bla'
Another dataframe:
df3 = A B C D0 12 NaN 'bla' ['item1', 'item2']1 23 NaN 'bla bla' [11, 12, 13]
I want insert the 'abc' list into df2.loc[1,'B']
and/or df3.loc[1,'B']
.
If the dataframe has columns only with integer values and/or NaN values and/or list values then inserting a list into a cell works perfectly. If the dataframe has columns only with string values and/or NaN values and/or list values then inserting a list into a cell works perfectly. But if the dataframe has columns with integer and string values and other columns then the error message appears if I use this: df2.loc[1,'B'] = abc
or df3.loc[1,'B'] = abc
.
Another dataframe:
df4 = A B0 'bla' NaN1 'bla bla' NaN
These inserts work perfectly: df.loc[1,'B'] = abc
or df4.loc[1,'B'] = abc
.
Thank you for your help!
1 Answer
df3.set_value(1, 'B', abc)
works for any dataframe. Take care of the data type of column 'B'. Eg. a list can not be inserted into a float column, at that case df['B'] = df['B'].astype(object)
can help.
- Python pandas insert list into a cell
- Insert into a Cyclic Sorted List
- Insert into a Cyclic Sorted List
- Insert into a Cyclic Sorted List
- Insert into a Cyclic Sorted List
- Insert into a Cyclic Sorted List
- 【Hackerrank】Insert a node into a sorted doubly linked list
- P21 (*) Insert an element at a given position into a list.
- P20 (*) P21 (*)Remove the Kth element from a list;Insert an element at a given position into a list.
- Insert into a sorted circular linked list 环状链表 插入节点
- python pandas a+
- Python List insert()方法
- Python List insert() Method
- jquery insert a table into div
- Adding List items into a List Folder
- Insert in a sorted list
- INSERT INTO
- insert into
- java联系
- java学习日记——抽象类
- springMVC + hadoop + httpclient 文件上传请求直接写入hdfs
- 在word文档中如何插入Mathtype公式
- cocoapods安装
- Python pandas insert list into a cell
- iOS开发-UI控件:动态改变UITableView中的Cell高度
- CF 653B. Bear and Compressing
- Hive数据类型-集合类型(Array-Map-Struct)的尝试
- Android Studio上 drawable与mipmap的区别
- 红黑树、插入删除操作
- MFC CListCtrl 刷新数据时闪屏解决方法
- 教您如何在Word的mathtype加载项中修改章节号
- Android集成微信支付功能
0.15.0
:df.loc[1,'b'] = ['foo','bar']
– EdChum Oct 21 '14 at 9:30