python - 将一维 Numpy 数组作为行添加到 DataFrame
问题描述
是否有一个函数可以让您有效地将 NumPy 数组直接附加到 DataFrame?
变量:
df = pd.DataFrame(columns=['col1', 'col2', 'col3'])
Out[1]: +------+------+------+
| Col1 | Col2 | Col3 |
+------+------+------+
| | | |
+------+------+------+
arr = np.empty(3)
# array is populated with values. Random numbers are chosen in this example,
# but in my program, the numbers are not arbitrary.
arr[0] = 756
arr[1] = 123
arr[2] = 452
Out[2]: array([756, 123, 452])
我如何直接附加arr
到末尾df
以获得这个?
+------+------+------+
| Col1 | Col2 | Col3 |
+------+------+------+
| 756 | 123 | 452 |
+------+------+------+
我试过使用df.append(arr)
,但它不接受 NumPy 数组。我可以将 NumPy 数组转换为 DataFrame 然后附加它,但我认为这将非常低效,尤其是在数百万次迭代中。有没有更有效的方法来做到这一点?
解决方案
@BalrogOfMoira 真的比简单地创建要附加的数据框更快吗?
df.append(pd.DataFrame(arr.reshape(1,-1), columns=list(df)), ignore_index=True)
否则@Wonton,您可以简单地连接数组然后写入数据帧,该数据帧可以附加到原始数据帧。
推荐阅读
- javascript - 有没有办法在 html 画布上生成随机对比度级别?
- kotlin - 在 intellij 中使用 kotest 时“表达式未使用”
- sql - Oracle:如何获得 2 组的唯一组合
- java - 如果有多个 catch 块,为什么 RuntimeException 不会在 catch 块中捕获?
- excel - VBE 生成 Worksheet_Change 私有子时的“编译错误:自动化错误”
- sql - 有没有更好的方法来执行这个 SQL 查询?
- amazon-web-services - 如何找出上传到 s3 的用户的 Cognito 用户名?
- vba - 导出时访问会删除字符串末尾的空格
- oracle-apex - 带有图像上传选项的页面上的 Oracle Apex 错误:请求协议为 https
- python - AttributeError:模块 'squarify' 没有属性 'plot'