Won*_*ton 10 python arrays numpy dataframe pandas
是否有一个函数可以让您有效地将 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])
Run Code Online (Sandbox Code Playgroud)
我如何直接附加arr
到末尾df
来得到这个?
+------+------+------+
| Col1 | Col2 | Col3 |
+------+------+------+
| 756 | 123 | 452 |
+------+------+------+
Run Code Online (Sandbox Code Playgroud)
我试过使用,df.append(arr)
但它不接受 NumPy 数组。我可以将 NumPy 数组转换为 DataFrame 然后附加它,但我认为这会非常低效,尤其是经过数百万次迭代。有没有更有效的方法来做到这一点?
@BalrogOfMoira 真的比简单地创建要追加的数据帧快吗?
df.append(pd.DataFrame(arr.reshape(1,-1), columns=list(df)), ignore_index=True)
Run Code Online (Sandbox Code Playgroud)
否则@Wonton 你可以简单地连接数组然后写入一个数据框,它可以附加到原始数据框。
归档时间: |
|
查看次数: |
12438 次 |
最近记录: |