如何将 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
我有一个包含 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