我有一个如下所示的熊猫数据框
df = [['A',1],
['A',1],
['A',0],
['A',0],
['A',5],
['B',0],
['B',0],
['B',1],
['B',1]]
df = pd.DataFrame(df, columns = ['A', 'B'])
df
A B
0 A 1
1 A 1
2 A 0
3 A 0
4 A 5
5 B 0
6 B 0
7 B 1
8 B 1
我的物品清单如下。我想将“ new_list”添加到我的“ df”数据框中作为列C
new_list = [[1], [1], [1], [1], [5], [0], [0], [1], [1]]
答案 0 :(得分:1)
尝试使用numpy方法.flatten()
df['C'] = numpy.asarray(new_list).flatten()
df
A B C
0 A 1 1
1 A 1 1
2 A 0 1
3 A 0 1
4 A 5 5
5 B 0 0
6 B 0 0
7 B 1 1
8 B 1 1
答案 1 :(得分:1)
尝试像这样使用.join():
df = df.join(pd.DataFrame(new_list))
df:
A B 0
0 A 1 1
1 A 1 1
2 A 0 1
3 A 0 1
4 A 5 5
5 B 0 0
6 B 0 0
7 B 1 1
8 B 1 1
请注意,您需要将列表转换为数据框才能起作用。
答案 2 :(得分:0)
IIUC
df['C']=sum(new_list,[])
df
Out[8]:
A B C
0 A 1 1
1 A 1 1
2 A 0 1
3 A 0 1
4 A 5 5
5 B 0 0
6 B 0 0
7 B 1 1
8 B 1 1
或
import itertools
df['C']=list(itertools.chain(*new_list))