Python Dataframe可以通过条件表达式来基于条件创建新列值。可以使用numpy.where()
函数、DataFrame.loc[]
方法或DataFrame.apply()
方法来实现。
下面是三种常见的方法:
numpy.where()
函数:import numpy as np
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df['C'] = np.where(df['A'] > 2, 'High', 'Low')
上述代码中,np.where()
函数会根据条件表达式df['A'] > 2
返回一个新的列,如果条件成立,则为'High',否则为'Low'。
DataFrame.loc[]
方法:import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df.loc[df['A'] > 2, 'C'] = 'High'
df.loc[df['A'] <= 2, 'C'] = 'Low'
上述代码中,使用DataFrame.loc[]
方法根据条件表达式选择行,并将满足条件的行的'C'列设置为'High',不满足条件的行设置为'Low'。
DataFrame.apply()
方法:import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df['C'] = df['A'].apply(lambda x: 'High' if x > 2 else 'Low')
上述代码中,DataFrame.apply()
方法可以将一个函数应用于每一行或每一列。通过定义一个lambda函数,根据条件将满足条件的值设置为'High',不满足条件的值设置为'Low'。
以上三种方法都可以根据条件创建新的列值,并根据具体需求选择使用其中的一种。在腾讯云产品中,可以使用云函数SCF来运行Python脚本处理数据,推荐使用的链接为:腾讯云云函数(Serverless Cloud Function,SCF)。
领取专属 10元无门槛券
手把手带您无忧上云