如何根据另一个数据框的行名删除数据框熊猫中的行?

时间:2019-10-01 18:38:36

标签: python pandas dataframe metadata

我想短路我的数据,整个数据形状为30000x480。我想根据另一个数据框的行名删除一些行。

请帮助我解决该问题并获取以下解决方案:

  

df1

Row  a  b
A    1  2
B    3  4
C    5  6
D    7  8
E    9 10
F   11 12
G   13 14
  

df2

Row  a  b
C    5  6
D    7  8
F   11 12
G   13 14

因此,我想删除df2中不存在的df1中的行,由于数据量很大,很难像手动删除

1 个答案:

答案 0 :(得分:0)

为了更好地理解,采用给定的相同数据。为了更好地理解,让我将相同的问题放在不同的上下文中:

问题:要删除df2中不存在的df1中的行

新方法:您需要df2中存在的df1行(或),并且需要df1和df2的公共行,请尝试

>>> import pandas as pd
>>> df2 = pd.DataFrame({'Row': ['C', 'D', 'F','G'], 'a': [5, 7, 11, 13], 'b' : [6, 8, 12, 14]})
>>> df1 = pd.DataFrame({'Row' : ['A', 'B', 'C', 'D'], 'a': [1,3,5,7], 'b': [2,4,6, 8]})
>>> df1
  Row  a  b
0   A  1  2
1   B  3  4
2   C  5  6
3   D  7  8
>>> df2
  Row   a   b
0   C   5   6
1   D   7   8
2   F  11  12
3   G  13  14
>>> pd.merge(df1, df2, 'inner')
  Row  a  b
0   C  5  6
1   D  7  8
>>>