将基于行值的列从一个数据帧移动到Python中的空数据帧

时间:2017-06-01 16:31:59

标签: python pandas dataframe

我使用

从文本文件中创建了一个2 x的数据帧

with open('test.txt') as a: Thresholds = pd.read_table(a, sep=',')

其中第一行是一行标题,每次引入新文件时它们可能不同,并且数据由1s和0s的行组成。

  A B C D E F G
  1 0 0 1 1 0 1

我试图用0删除所有列或将所有带1s的列移动到空数据帧中。我习惯用R或matlab编写,并且已经用这两种语言完成了这个,但是我不太清楚如何在Python中编写它。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

让我们在df.columns上使用布尔索引,从数据帧中删除这些列:

   A  D  E  G
0  1  1  1  1

输出:

{{1}}

答案 1 :(得分:0)

df = pd.DataFrame({'A': np.random.randint(0,2,1),
         'B': np.random.randint(0,2,1),
         'C': np.random.randint(0,2,1),
         'D': np.random.randint(0,2,1),
         'E': np.random.randint(0,2,1),
         'F': np.random.randint(0,2,1),
         'G': np.random.randint(0,2,1)})

mask = df.ix[0] == 1
df = df[df.columns[mask]]

返回:

   C  D  F
0  1  1  1