Python 如何过滤数据帧中因符号不同的行?

Python 如何过滤数据帧中因符号不同的行?,python,pandas,filtering,Python,Pandas,Filtering,我有一个数据帧,它的行是给定长度的数字数组。我想有效地去除那些与其他行的符号-1不同的行。例如,如果我遇到 1 -2 2 4 -4 -1 2 -2 -4 4 然后我想扔掉其中一个。在Python/Pandas中是否有一种不太昂贵的方法来实现这一点 可以找到这样一个数据帧的示例。因此,有一个技巧可以做到 仅当列数为奇数时 通过这种方式,您可以反转任何具有超过ceiln\u cols/2.0负值的条目的符号,然后执行drop\u复制 你能提供一个示例数据库吗?请参阅@TomekKani

我有一个数据帧,它的行是给定长度的数字数组。我想有效地去除那些与其他行的符号-1不同的行。例如,如果我遇到

 1 -2  2  4 -4

-1  2 -2 -4  4
然后我想扔掉其中一个。在Python/Pandas中是否有一种不太昂贵的方法来实现这一点


可以找到这样一个数据帧的示例。

因此,有一个技巧可以做到

仅当列数为奇数时

通过这种方式,您可以反转任何具有超过ceiln\u cols/2.0负值的条目的符号,然后执行drop\u复制


你能提供一个示例数据库吗?请参阅@TomekKania您能再提供几行吗?@YOLO-链接中的csv中有更多行。@TomekKania-您能添加预期的输出吗?
from math import ceil
df = pd.read_csv('example_csv.csv')
cols = df.columns
df['n_minus'] = (df<0).sum(axis=1)
df.loc[df['n_minus']>ceil(len(cols)/2.0),cols] = df.loc[df['n_minus']>ceil(len(cols)/2.0),cols]*-1.0
new_df = df[cols].drop_duplicates()