Python 如何基于中现有列的偏移值创建新列

Python 如何基于中现有列的偏移值创建新列,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个171行11列的数据框 这11列的值为0或1 根据现有列的大多数是0还是1,如何创建一个0或1的新列 (df.sum(axis=1)>df.shape[1]/2)+0 使用行的平均值,比较大于或大于或等于0.5(取决于相同数量的0和1)最后通过以下方式将掩码转换为整数: np.random.seed(20193) df = pd.DataFrame(np.random.choice([0,1], size=(5, 4))) df['new'] = df.mean(axis=1).g

我有一个171行11列的数据框

这11列的值为0或1 根据现有列的大多数是0还是1,如何创建一个0或1的新列

(df.sum(axis=1)>df.shape[1]/2)+0

使用行的
平均值
,比较大于或大于或等于
0.5
(取决于相同数量的
0
1
)最后通过以下方式将掩码转换为整数:


np.random.seed(20193)
df = pd.DataFrame(np.random.choice([0,1], size=(5, 4)))

df['new'] = df.mean(axis=1).gt(0.5).astype(int)
print (df)
   0  1  2  3  new
0  1  1  0  0    0
1  1  1  1  0    1
2  0  0  1  0    0
3  1  1  0  1    1
4  1  1  1  1    1
np.random.seed(20193)
df = pd.DataFrame(np.random.choice([0,1], size=(5, 4)))


df['new'] = df.mean(axis=1).ge(0.5).astype(int)
print (df)
   0  1  2  3  new
0  1  1  0  0    1
1  1  1  1  0    1
2  0  0  1  0    0
3  1  1  0  1    1
4  1  1  1  1    1
import numpy as np
import pandas as pd

X = np.asarray([(0, 0, 0),
                (0, 0, 1),
                (0, 1, 1),
                (1, 1, 1)])

df = pd.DataFrame(X)

df['majority'] = (df.mean(axis=1) > 0.5) + 0
df