相关疑难解决方法(0)

按不在列表中的标签切片Pandas数据帧

我有一个pandas数据帧,df.

我想选择在所有指数df不是在列表中,blacklist.

现在,我使用list comprehension创建所需的标签以进行切片.

ix=[i for i in df.index if i not in blacklist]  
df_select=df.loc[ix]
Run Code Online (Sandbox Code Playgroud)

工作正常,但如果我需要经常这样做可能会很笨拙.

有一个更好的方法吗?

python pandas

35
推荐指数
3
解决办法
3万
查看次数

如何找到两个数据帧的补码

给定两个大型数据帧,是否有任何简洁有效的代码(避免for loop直接使用任何代码),这些代码可以让我获得这两个数据帧的补充?

对我来说最直接的方法是计算union-intersection如下面的天真例子所示,但我不知道如何用优雅的语言pandasnp

df1= pd.DataFrame({'key1': ['K0', 'K0', 'K1', 'K2'],
                     'key2': ['K0', 'K1', 'K0', 'K1'],
                   'A': ['A0', 'A1', 'A2', 'A3'],
                    'B': ['B0', 'B1', 'B2', 'B3']})     
df2= pd.DataFrame({'key1': ['K0', 'K1', 'K1', 'K2'],
                      'key2': ['K0', 'K0', 'K0', 'K0'],
                      'C': ['C0', 'C1', 'C2', 'C3'],
                      'D': ['D0', 'D1', 'D2', 'D3']})        
intersection= pd.merge(df1, df2, how='inner',on=['key1', 'key2'])
union=pd.merge(df1, df2, how='outer',on=['key1', 'key2'])       


complement=union-intersection
Run Code Online (Sandbox Code Playgroud)

感谢您的任何意见和解答

python merge join pandas

3
推荐指数
1
解决办法
2482
查看次数

标签 统计

pandas ×2

python ×2

join ×1

merge ×1