【问题标题】:Getting Specific List From A DataFrame从 DataFrame 中获取特定列表
【发布时间】:2021-10-16 09:23:50
【问题描述】:

从下表中,我有一个列表x =[2,2,4]x 包含来自 ID 列的一些值)。我的任务是使用列表x 并创建一个新列表y,其中包含来自df["group"] 的一些值。所以在这种情况下,答案是y=[1,9,8]

df=(tabulate({'ID': [1, 2, 2, 4], 'Age': [4, 15, 18, 6], 'Group': [3, 1, 9, 8], 'Color':['R', 'BL', 'G', 'G'] }, headers="keys", tablefmt='fancy_grid', missingval='N/A'))
ID Age Group Color
1 4 3 R
2 50 1 BL
2 18 9 G
4 6 8 G

我的方法:我知道.loc用于这样的事情。所以我试着做:

y=[]
mask= x == df["ID"] 
y= (df.loc[mask, "group"])
print(y)

不幸的是,这不起作用。我很困惑,不知道下一步该怎么做。任何帮助表示赞赏。

【问题讨论】:

  • 看起来像是来自 pypi 的熊猫问题和数据框

标签: python pandas list dataframe


【解决方案1】:

通过isin()+locaccessor+tolist()试试:

out=df.loc[df['ID'].isin(x),'Group'].tolist()

out的输出:

[1, 9, 8]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-29
    • 2017-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多