Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何基于某些列从数据框中选择相同的行_Python_Pandas_Dataframe - Fatal编程技术网

Python 如何基于某些列从数据框中选择相同的行

Python 如何基于某些列从数据框中选择相同的行,python,pandas,dataframe,Python,Pandas,Dataframe,我是熊猫队的新手,我对数据框中的行选择有问题 以下是我的数据帧: Index Column1 Column2 Column3 Column4 0 1234 500 NEWYORK NY 1 5678 700 AUSTIN TX 2 1234 300 NEWYORK NY 3 8910 235 RICHMOND FL 我想选择在第1列、第3列和第4列中具有相同值的行(这3列中的行相同)。因此,输出数据帧将

我是熊猫队的新手,我对数据框中的行选择有问题

以下是我的数据帧:

   Index    Column1 Column2 Column3 Column4
   0    1234    500 NEWYORK NY
   1    5678    700 AUSTIN  TX
   2    1234    300 NEWYORK NY
   3    8910    235 RICHMOND    FL
我想选择在第1列、第3列和第4列中具有相同值的行(这3列中的行相同)。因此,输出数据帧将包含索引为0和2的行


任何人都可以帮助我完成此自定义选择的分步程序。

使用
df.duplicated
作为映射器索引到
df

c = ['Column1', 'Column3', 'Column4']
df = df[df[c].duplicated(keep=False)]

df

   Index  Column1  Column2  Column3 Column4
0      0     1234      500  NEWYORK      NY
2      2     1234      300  NEWYORK      NY

keep=False
将标记所有重复行以进行筛选。

之前我使用了以下方法:

d = df.T.to_dict()   

dup=[]
for i in d.keys():
    for j in d.keys():
        if i!=j:
            if d[i]['column1']==agg_d[j]['column1'] and d[i]['column3']==d[j]['column3'] and d[i]['column3']==d[j]['column3']:
                set(dup.append(k[i]['column1'])

dup_rows = df[df.loc['column1'].isin(dup)]

Downvoter,非常感谢对downvote的反馈,以改进答案,谢谢!昨天我收到了很多反对票。。。没有理由。。。too@Wen每个人都会因为匿名投票而输。。。他们失去了1次代表,我失去了知道我在哪里犯了错误的机会,因此我可以改进…这就是我所关心的,*我在回答中做错了什么*谢谢。。我采用了以下方法: