我有一个很大的数据框,有很多列。我想检查所有列并删除包含字符串'MU'的任何实例的任何行,并且有些列具有'MU#1'或'MU#2',它们有时会切换位置(例如'MU #1将在索引1的第1列中,而'MU#2'将在索引1的第1列中)。最初,我尝试使用此命令将其删除,但是如果我尝试对上述两个字符串都这样做,将变得非常麻烦:
eadev
这可能有效,但是我必须与其他数据帧一起重复此切片几次,并且我想有一条更简单的路线。我的栏目也比上面显示的要多,但这只是一个片段。 简而言之,需要检查所有列的“ MU”,并删除带有“ MU”的行。谢谢!
答案 0 :(得分:1)
我们如何处理 val result = drawable.bitmap.copy(Bitmap.Config.ARGB_8888, true)
for (y in 0 until result.height) for (x in 0 until result.width) {
val dstColor = Color.argb(100, 255, 255, 255)
result.setPixel(x, y, dstColor)
}
all
更新
df = df[df[['phase_1','phase_2','phase_3','phase_4']].ne('MU#1').all(1)]
答案 1 :(得分:1)
您也可以尝试.str.contains()
并将其应用于数据框。这样可以避免硬编码列,以防万一
df[df.apply(lambda x: (~x.str.contains('MU', case=True, regex=True)))].dropna()
或
df[~df.stack().str.contains('MU').any(level=0)]
工作方式 s
选项1
在df.apply()
,x.str.contains
中使用时,#是包含datframe中任何列的通配符
x.str.contains('MU', case=True, regex=True)
是datframe中任何包含'MU',区分大小写和正则表达式的列的通配符
~
相反,因此最终导致没有MU的行
结果数据帧在不满足条件的情况下返回NaN
。 .dropna()
因此消除了带有NaN
选项2
df.stack()# Stacks the dataframe
df.stack().str.contains('MU')#boolean selects rows with the string 'MU'
df.stack().str.contains('MU').any(level=0)# Selects the index
~df.stack().str.contains('MU').any(level=0)# Reverses the selection taking only those without string 'MU'