python - 将数组添加到数据框列

标签 python arrays pandas dataframe

假设我有这个数据框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:使用序列设置数组元素。

最佳答案

我认为最简单的是分配 listslist,只需要与 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/

相关文章:

python - Plotly:改变填充颜色的透明度

PHP - 对多维数组进行排序时出现问题?

python Pandas : detecting existence of timestamp in Series

Python 机会游戏

python - 如果值列表出现在 Pandas 数据框的任何列中,如何打印行

java - 从文本文件用 Java 创建菜单语句

python - 对值进行排序并根据 Pandas 行创建新列

python - 如何拆分列并显示pandas中数据的所有列部分?

python - 无法解释小部件打包和未打包时的行为差异

arrays - VBS : Counting number of items in an Array