создать новый столбец, используя if, иначе показатели из списков - PullRequest
0 голосов
/ 21 марта 2019

Мне нужно создать новый столбец C, используя операторы if и else из столбцов A, B: как в примере

приведенный ниже код ничего не возвращает, кто-нибудь может сообщить мне правильный

import numpy as np
import pandas as pd
a = np.arange(10)
b = [0.1,0.3,0.1, 0.2, 0.5, 0.4,0.7,0.56, 
0.78, 0.45]
df= pd.DataFrame(data=b, columns=['B'])
df2= pd.DataFrame(data=a, columns=['A'])
A = df2['A']
B = df['B']
print (A, B)

def comma ( A, B, c):

  if B >= 0.1 and B <0.4:
    c = B *2
  else:
    c = B*A

 print (c)

1 Ответ

0 голосов
/ 21 марта 2019

Если вы рассматриваете фрейм данных с двумя столбцами «A» и «B», то вы можете использовать функцию apply для возврата нового столбца в зависимости от ваших условий

data = np.random.rand(10, 2)
df = pd.DataFrame(data=data, columns=['A', 'B'])

, тогда вы можете использовать команду applyфункция для возврата нового столбца в зависимости от ваших условий

def cdt(x):
    if x['B'] >= 0.1 and x['B'] < 0.4:
        return 2 * x['B']
    return x['B'] * x['A']

df['C'] = df.apply(cdt, axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...