如何将 numpy 数组值添加到某个索引处的数据框?

How to add numpy array values to dataframe at a certain index?

我有一个包含 200 行的数据框 df,以及包含 15 个值的 numpy 数组 my_array

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 的值添加到新列 column_2 下的 df 中时,这 15 个值被添加到 df 的前 15 行中。

df['column_2'] = pd.DataFrame(my_array, columns=['column_2'])

如何让代码将 my_array 的值添加到 last 15 行 df?

现在另一个问题是您还删除了该列的所有其他值,您可能不会设置 DataFrame 而只是将数组设置为新值。

要在特定索引的列中设置值,请使用 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