熊猫使用数组分配列值

时间:2019-03-07 10:33:18

标签: python python-3.x pandas

我正在尝试为特定的列分配值,但是在这种情况下,列名和值存在于数组中。

下面是我的代码。

但是Col-1没有被分配1,23,3

请帮助我在下面的代码中找出问题

df = pd.DataFrame(columns=['Col-1', 'Col-2']);
key = ['Col-1']
v= [1,23,3]

df[key] = [v]

2 个答案:

答案 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)