pandas 使用python使用行值从数据框中提取行

wbgh16ku  于 2023-02-02  发布在  Python
关注(0)|答案(2)|浏览(201)

|列1|列2|第3栏|第4栏|
|楠|楠|自由|右侧|
|楠|MK1|制造|aa.|
|南。|MA1|佛罗里达州|第二代|
现在我们有三行,标题分别为col1、col2 ......。
我想使用某个值提取行
预期产出:MK1|fg|aa
MA1|第一代|第二代
我使用了df [(df.值= ='MK1).任意(轴= 1)
对于多值df [(df.值= ='MK1 ')&&(df.值= ='MA1)]
它给出了0行的标题。有人能帮我实现这个吗?请不要使用loc或iloc
先谢了

sdnqo3pr

sdnqo3pr1#

应该使用OR |而不是AND &,因为您要在列中查找MK1 OR MA1

df[(df["col2"] == "MK1") | (df["col2"] == "MA1")]
yquaqz18

yquaqz182#

下面是一个更好的方法。如果匹配值的数量很多,则可以只传递可能匹配的列表,而不必为每个值编写条件

matches=['MK1','MA1']
df=df[df["Description_x"].apply(lambda x: x in matches)]

或者在一条线上

df=df[df["Description_x"].apply(lambda x: x in ['MK1','MA1'])]

or

MK1row =df[df["Description_x"].apply(lambda x: x=='MK1')]

MK2row =df[df["Description_x"].apply(lambda x: x=='MK2')]

相关问题