按系列索引对Pandas DataFrame /系列进行索引

时间:2019-10-29 19:20:09

标签: python pandas

我试图找到一种方法来创建基于另一个DataFrame中的值的pandas系列。一个简化的例子是:

df_idx = pd.DataFrame([0, 2, 2, 3, 1, 3])
df_lookup = pd.DataFrame([10.0, 20.0, 30.0, 40.0])

我希望根据df_idx中的索引从df_lookup生成一系列新的pandas值,即:

df_target = pd.DataFrame([10.0, 30.0, 30.0, 40.0, 20.0, 40.0])

很明显,这样做时最好不要循环速度。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

reindex的用途是

df_idx = pd.DataFrame([0, 2, 2, 3, 1, 3])
df_lookup = pd.DataFrame([10.0, 20.0, 30.0, 40.0])

df_lookup.reindex(df_idx[0])

输出:

      0
0      
0  10.0
2  30.0
2  30.0
3  40.0
1  20.0
3  40.0

答案 1 :(得分:-1)

这正是import pandas as pd df = pd.DataFrame([10.0, 20.0, 30.0, 40.0]) idx_lst = pd.Series([0, 2, 2, 3, 1, 3]) res = df.iloc[idx_lst] 的用例:

Html.Hidden()

有关按位置编制索引的更多信息,请参见here