我想短路我的数据,整个数据形状为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中的行,由于数据量很大,很难像手动删除
答案 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
>>>