我正在尝试为特定的列分配值,但是在这种情况下,列名和值存在于数组中。
下面是我的代码。
但是Col-1没有被分配1,23,3
请帮助我在下面的代码中找出问题
df = pd.DataFrame(columns=['Col-1', 'Col-2']);
key = ['Col-1']
v= [1,23,3]
df[key] = [v]
答案 0 :(得分:0)
df = pd.DataFrame(columns=['Col-1', 'Col-2', 'Col-3'])
key = ['Col-1', 'Col-2']
v = [[1, 23, 3], [2, 3, 4]]
for i,j in zip(key,v):
df[i] = j
print(df)
输出
Col-1 Col-2 Col-3
0 1 2 NaN
1 23 3 NaN
2 3 4 NaN
答案 1 :(得分:0)
还有另一种方法
使用转置列表并使其成为数据框
df = pd.DataFrame(columns=['Col-1', 'Col-2', 'Col-3'])
key = ['Col-1', 'Col-2']
v = [[1, 23, 3], [2, 3, 4]]
df[key] = pd.DataFrame(list(map(list, zip(*v))))
print(df)