如何通过索引搜索数据帧后如何添加列值,列数是二维生成的。 数据框搜索遍历列表。
listgroup = [some list]
df[df.index.isin([200100000004,200100000005])]
。
column1 column2 column3 columnN
200100000001 1 20 1 3
200100000009 1 55 1 3
200100000004 1 30 2 12
200100000005 1 50 3 4
结果
column1 column2 column3 columnN
200100000004,200100000005 2 80 5 16
答案 0 :(得分:0)
isin()
groupby()
的列 foo 和可用于构造级联索引的列 IDL agg()
的说明df = pd.DataFrame({"ID":[200100000001,200100000009,200100000004,200100000005],"column1":[1,1,1,1],"column2":[20,55,30,50],"column3":[1,1,2,3],"columnN":[3,3,12,4]})
df = df.set_index("ID")
listgroup = [200100000004,200100000005]
df[df.index.isin(listgroup)].assign(foo=1,IDL=lambda x: x.index).groupby("foo")\
.agg({**{"IDL":lambda x: ",".join([str(i) for i in list(x)])},
**{col:"sum" for col in df.columns}
}).reset_index().drop(columns=["foo"]).set_index("IDL")
输出
column1 column2 column3 columnN
IDL
200100000004,200100000005 2 80 5 16