Python 熊猫:用“熊猫”创建新专栏;是”;如果预先存在的列包含一些值和;否";如果列的值为'';
我正在尝试在我的“df”中添加一个列,如果预先存在的列包含某个值,则该列包含“Yes”,如果该列的值为“”,则该列显示“No”(请注意“”之间的空格) 下面是一个例子:Python 熊猫:用“熊猫”创建新专栏;是”;如果预先存在的列包含一些值和;否";如果列的值为'';,python,pandas,Python,Pandas,我正在尝试在我的“df”中添加一个列,如果预先存在的列包含某个值,则该列包含“Yes”,如果该列的值为“”,则该列显示“No”(请注意“”之间的空格) 下面是一个例子: my_dict = {'Products': {0: 0, 1: 1, 2: 2}, 'Prices': {0: ' ', 1: ' ', 2: 'C'}} my_df = pd.DataFrame(my_dict) my_df['Direct debit'] = my_df['Category'].apply(lambda
my_dict = {'Products': {0: 0, 1: 1, 2: 2}, 'Prices': {0: ' ', 1: ' ', 2: 'C'}}
my_df = pd.DataFrame(my_dict)
my_df['Direct debit'] = my_df['Category'].apply(lambda x: "Yes" if not "' '" else "NO")
返回:
“输出”在所有情况下都是否定的,但在my_df['Category']有任何值的情况下,它应该说是
我应该在代码中修复什么?试试这个。它比大型数据集上的lambda函数快得多:
my_df['Direct debit'] = np.where(my_df['Category'] != '', 'YES', 'NO')
使用
np.where
:
import numpy as np
my_df['Direct debit'] = np.where(my_df['Category'] != '', 'Yes', 'No')
顺便说一下,请记住,
'
,'
,是不同的什么是类别
?