第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 pandas 中使用 `isin(list1)` 來識別包含 list1 中所有項目的列中的值

在 pandas 中使用 `isin(list1)` 來識別包含 list1 中所有項目的列中的值

繁華開滿天機 2022-07-19 16:43:05
對于給定的 pandas 數(shù)據(jù)框,如下所示,    h1  h2  h3    mn  a   1    mn  b   1    rs  b   1    pq  a   1    we  c   1如果我使用過濾器isin(),比如說df[df["h2"].isin(["a","b"])]["h1"].unique(),它會導(dǎo)致以下結(jié)果:    h1    mn    rs    pq我需要找到與列表中所有元素匹配的條目,而不是與列表中任何元素匹配的行為,即所需的輸出應(yīng)該是: h1 mn這究竟是如何實現(xiàn)的?里面列表的元素個數(shù)isin()是任意的,可以多于2個。
查看完整描述

2 回答

?
德瑪西亞99

TA貢獻(xiàn)1770條經(jīng)驗 獲得超3個贊

您可以將issubset每個set組用于掩碼:


s = df.groupby('h1')['h2'].apply(lambda x: set(["a","b"]).issubset(x))

print (s)

h1

mn     True

pq    False

rs    False

we    False

Name: h2, dtype: bool

然后過濾索引值:


vals = s.index[s]

print (vals)

Index(['mn'], dtype='object', name='h1')


查看完整回答
反對 回復(fù) 2022-07-19
?
收到一只叮咚

TA貢獻(xiàn)1821條經(jīng)驗 獲得超5個贊

groupby.filter與 一起使用np.isin:


new_df = df.groupby('h1').filter(lambda x: np.isin(['a','b'],x['h2']).all())

print(new_df)

   h1 h2  h3

0  mn  a   1

1  mn  b   1

s = df.groupby('h1')['h2'].apply(lambda x: np.isin(['a','b'],x).all())

s.index[s]

#Index(['mn'], dtype='object', name='h1')


查看完整回答
反對 回復(fù) 2022-07-19
  • 2 回答
  • 0 關(guān)注
  • 89 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號