python - 如何在某个索引处将 numpy 数组值添加到数据框?
问题描述
我有一个df
包含 200 行的数据框和my_array
包含 15 个值的 numpy 数组。
my_array = [41892.79355875, 40239.97933262, 39466.32169404, 38416.39545664,
40012.3803004, 41135.45946026, 43084.18917943, 44825.08405799,
44066.70603561, 46636.34415037, 45855.25783352, 45863.87118957,
44697.45547342, 48065.5708295, 47931.83508874]
当我将 的值添加my_array
到df
新列下column_2
时,15 个值将添加到 的前 15 行中df
。
df['column_2'] = pd.DataFrame(my_array, columns=['column_2'])
如何让代码将 的值添加my_array
到 的最后15 行df
?
解决方案
现在另一个问题是您还删除了该列的所有其他值,您可能不会设置 aDataFrame
而只是将数组设置为新值。
要在特定索引处设置列中的值,请使用df.loc[df.index[#], 'NAME']
import numpy as np
import pandas as pd
df = pd.DataFrame([[1, 2] for _ in range(100)], columns=['column_1', 'column_2'])
my_array = np.array([41892.79355875, 40239.97933262, 39466.32169404, 38416.39545664,
40012.3803004, 41135.45946026, 43084.18917943, 44825.08405799,
44066.70603561, 46636.34415037, 45855.25783352, 45863.87118957,
44697.45547342, 48065.5708295, 47931.83508874])
df.loc[df.index[-15:], 'column_2'] = my_array
print(df)
column_1 column_2
0 1 2.000000
1 1 2.000000
2 1 2.000000
3 1 2.000000
4 1 2.000000
.. ... ...
95 1 45855.257834
96 1 45863.871190
97 1 44697.455473
98 1 48065.570830
99 1 47931.835089
推荐阅读
- python-3.x - TypeError:“Mul”Op 的输入“y”的类型为 float32,与参数“x”的类型 int32 不匹配
- python - 有什么方法可以使用 python 访问 DAYWISE Facebook 广告洞察并将响应数据添加到 mysql 数据库表中?
- sql - 在 SQL 中分隔具有相同属性的表
- authentication - socket.io 验证来自客户端每次发出的令牌
- spring - spring boot websocket代理设置最大连接数
- wix - WIX 安装程序 UI:图标/位图的工具提示
- javascript - what is the best way to select option when option is an object?
- javascript - Google 条形图 data.push 不是函数
- java - 为什么方法中输入的最后一个字符串首先被打印?
- regex - XML 模式的正则表达式