Tôi có một danh sách 'abc' và khung dữ liệu 'df':
abc = ['foo', 'bar']
df =
A B
0 12 NaN
1 23 NaN
Tôi muốn chèn danh sách vào ô 1B, vì vậy tôi muốn kết quả này:
A B
0 12 NaN
1 23 ['foo', 'bar']
Hồ tôi có thể làm điều đó?
1) Nếu tôi sử dụng cái này:
df.ix[1,'B'] = abc
Tôi nhận được thông báo lỗi sau:
ValueError: Must have equal len keys and value when setting with an iterable
bởi vì nó cố gắng chèn danh sách (có hai phần tử) vào một hàng / cột nhưng không chèn vào một ô.
2) Nếu tôi sử dụng cái này:
df.ix[1,'B'] = [abc]
thì nó sẽ chèn một danh sách chỉ có một phần tử là danh sách 'abc' ( [['foo', 'bar']]
).
3) Nếu tôi sử dụng cái này:
df.ix[1,'B'] = ', '.join(abc)
thì nó sẽ chèn một chuỗi: ( foo, bar
) nhưng không chèn một danh sách.
4) Nếu tôi sử dụng cái này:
df.ix[1,'B'] = [', '.join(abc)]
sau đó nó chèn một danh sách nhưng nó chỉ có một phần tử ( ['foo, bar']
) chứ không phải hai phần tử như tôi muốn ( ['foo', 'bar']
).
Cảm ơn vì sự giúp đỡ!
BIÊN TẬP
Khung dữ liệu mới của tôi và danh sách cũ:
abc = ['foo', 'bar']
df2 =
A B C
0 12 NaN 'bla'
1 23 NaN 'bla bla'
Một khung dữ liệu khác:
df3 =
A B C D
0 12 NaN 'bla' ['item1', 'item2']
1 23 NaN 'bla bla' [11, 12, 13]
Tôi muốn chèn danh sách 'abc' vào df2.loc[1,'B']
và / hoặc df3.loc[1,'B']
.
Nếu khung dữ liệu chỉ có các cột với giá trị nguyên và / hoặc giá trị NaN và / hoặc giá trị danh sách thì việc chèn danh sách vào ô hoạt động hoàn hảo. Nếu khung dữ liệu chỉ có các cột với giá trị chuỗi và / hoặc giá trị NaN và / hoặc giá trị danh sách thì việc chèn danh sách vào ô hoạt động hoàn hảo. Nhưng nếu khung dữ liệu có các cột có giá trị số nguyên và chuỗi và các cột khác thì thông báo lỗi sẽ xuất hiện nếu tôi sử dụng điều này: df2.loc[1,'B'] = abc
hoặc df3.loc[1,'B'] = abc
.
Một khung dữ liệu khác:
df4 =
A B
0 'bla' NaN
1 'bla bla' NaN
Những phần chèn này hoạt động hoàn hảo: df.loc[1,'B'] = abc
hoặc df4.loc[1,'B'] = abc
.
0.15.0
:df.loc[1,'b'] = ['foo','bar']