我需要使用A和B列中的if和else语句创建一个新列C:例如
以下代码不返回任何内容, 有人可以通知我正确的人吗p>
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)
答案 0 :(得分:0)
如果您考虑一个包含两列“ 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)