Python 如何基于中现有列的偏移值创建新列
我有一个171行11列的数据框 这11列的值为0或1 根据现有列的大多数是0还是1,如何创建一个0或1的新列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
(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