python dataframe列应用函数
在这个问题中,原因是我们想要在Python的DataFrame中的某一列应用一个函数。在这种情况下,我们想要使用numpy.where函数和pandas.Series.str.contains或pandas.Series.str.startswith函数创建的布尔掩码。
解决这个问题的方法是使用numpy.where函数。首先,我们使用pandas的str.contains函数或str.startswith函数创建一个布尔掩码。这些函数可以用来检查DataFrame中某一列的每个元素是否包含特定字符串或以特定字符串开头。然后,我们使用numpy.where函数将满足条件的元素替换为'M',不满足条件的元素替换为'F'。最后,我们将新的一列添加到DataFrame中。
这里是解决这个问题的代码示例:
import numpy as np import pandas as pd df = pd.DataFrame({'A': ['SA01', '0007', 'SA06', '0198', 'SA06'], 'B': [2012, 2012, 2013, 2014, 2014]}) df['new'] = np.where(df['A'].str.contains('SA'), 'M', 'F') # 或者使用下面的解决方法 # df['new'] = np.where(df['A'].str.startswith('SA'), 'M', 'F') print(df)
运行上述代码,将得到以下输出结果:
A B new 0 SA01 2012 M 1 0007 2012 F 2 SA06 2013 M 3 0198 2014 F 4 SA06 2014 M
以上就是使用Python DataFrame中的一列应用函数的原因和解决方法。