假设我有这个数据框df
:
'Location' 'Rec ID' 'Duration'
0 Houston 126 17
1 Chicago 338 19.3
我想添加一个包含与我的录音相对应的数组的列,例如:
'Location' 'Rec ID' 'Duration' 'Rec'
0 Houston 126 17 [0.2, 0.34, 0.45, ..., 0.28]
1 Chicago 338 19.3 [0.12, 0.3, 0.41, ..., 0.39]
当我执行 df.set_value()
命令时,出现以下错误:
ValueError:使用序列设置数组元素。
最佳答案
我认为最简单的是分配 lists
的 list
,只需要与 length
相同长度的 lists
DataFrame
的 >:
arr = [[0.2, 0.34, 0.45, 0.28], [0.12, 0.3, 0.41, 0.39]]
print (arr)
[[0.2, 0.34, 0.45, 0.28], [0.12, 0.3, 0.41, 0.39]]
print (len(arr))
2
print (len(df))
2
df["'Rec'"] = arr
print (df)
'Location' 'Rec ID' 'Duration' 'Rec'
0 0 Houston 126 17.0 [0.2, 0.34, 0.45, 0.28]
1 1 Chicago 338 19.3 [0.12, 0.3, 0.41, 0.39]
如果使用numpy数组
,首先转换tolist
:
arr = np.array([[0.2, 0.34, 0.45, 0.28], [0.12, 0.3, 0.41, 0.39]])
print (arr)
[[ 0.2 0.34 0.45 0.28]
[ 0.12 0.3 0.41 0.39]]
df["'Rec'"] = arr.tolist()
print (df)
'Location' 'Rec ID' 'Duration' 'Rec'
0 0 Houston 126 17.0 [0.2, 0.34, 0.45, 0.28]
1 1 Chicago 338 19.3 [0.12, 0.3, 0.41, 0.39]
关于python - 将数组添加到数据框列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40035276/