首先,由于数据集很大,我试图将其作为矢量操作来实现。
import pandas as pd
sub_list = [{"uniqueId": "123456", "ref_idx": 1},
{"uniqueId": "123457", "ref_idx": 2},
{"uniqueId": "123458", "ref_idx": 3},
{"uniqueId": "123459", "ref_idx": 4},
{"uniqueId": "123460", "ref_idx": 5},
{"uniqueId": "123461", "ref_idx": 6}]
primary_list = [{"uniqueId": "123456"},
{"uniqueId": "123457"},
{"uniqueId": "123458"},
{"uniqueId": "123459"},
{"uniqueId": "123460"},
{"uniqueId": "123461"},
{"uniqueId": "123462"},
{"uniqueId": "123463"},
{"uniqueId": "123464"},
{"uniqueId": "123465"}]
subset_df = pd.DataFrame(sub_list)
primary_df = pd.DataFrame(primary_list)
subset_df.set_index("uniqueId", inplace=True)
primary_df.set_index("uniqueId", inplace=True)
primary_df["ref_idx"] = primary_df.loc([subset_df.index]["ref_idx"])
问题出在最后一条陈述上。我已经尝试过各种迭代方法,以了解如何从subset_df(ref_idx值)获取切片并将其作为新列填充到primary_df中。当然,那些没有出现在subset_df中的记录在primary_df中将没有值(NaN)。没关系。
只是不确定语法是否正确。
我看到类似TypeError的错误:列表索引必须是整数或切片,而不是str; 呼叫()接受1到2个位置参数,但给出了3个,当一个参数分隔[[subset_df.index],[“ ref_idx”])
时发生基本上,使用索引来限定数据,但返回ref_idx值。
想法?