![](/img/trans.png)
[英]Pandas - Add values from series to dataframe column based on index of series matching some value in dataframe
[英]Filling a dataframe with values from a Series based on a list of index
我需要将值从 pandas 系列(val)传递到索引(索引)处的 dataframe 列('column_a')。 我怎样才能做到这一点?
import pandas as pd
import numpy as np
df_test = pd.DataFrame(index=np.arange(4000), columns=np.arange(1))
df_test.columns = ['column_a']
val = pd.Series([0.267, 0.331, 0.486, 0.224, 0.334])
indices = pd.Series([2, 7, 9, 12, 70])
让我们通过设置 val 的索引来使用 pandas 内在数据 alignment 然后将该 pd.Series 分配给 dataframe 列。
df_test.columns = ['column_a']
val = pd.Series([0.267, 0.331, 0.486, 0.224, 0.334])
indices = pd.Series([2, 7, 9, 12, 70])
df_test['column_a'] = val.set_axis(indices)
print(df_test[df_test['column_a'].notna()])
Output(仅打印 df_test 中不为空的值):
column_a
2 0.267
7 0.331
9 0.486
12 0.224
70 0.334
使用 pandas 的loc
方法:
df_test.loc[indices.to_numpy(), 'column_a']=val.to_numpy()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.