Python 3.x 将列中的值与整数进行比较

Python 3.x 将列中的值与整数进行比较,python-3.x,pandas,Python 3.x,Pandas,我对熊猫和蟒蛇很陌生。我想将列中的值与整数进行比较,看看它们是否相等,然后生成一个新列。我尝试了eq()和equals(),它们都给了我一个错误 值错误: 级数的真值是模糊的。使用a.empty、a.bool()、a.item()、a.any()或a.all() 下面是我使用的代码 data_frame["FirstName"] = data_frame["SplitName"].str[0] if data_frame["Length"].eq(2) else "" SplitName列是一

我对熊猫和蟒蛇很陌生。我想将列中的值与整数进行比较,看看它们是否相等,然后生成一个新列。我尝试了eq()和equals(),它们都给了我一个错误

值错误: 级数的真值是模糊的。使用a.empty、a.bool()、a.item()、a.any()或a.all()

下面是我使用的代码

data_frame["FirstName"] = data_frame["SplitName"].str[0] if data_frame["Length"].eq(2) else ""

SplitName列是一个列表,Length列是一个整数

只需使用
np.where

import numpy as np
data_frame["FirstName"] = np.where(data_frame["Length"].eq(2), "string_if_equal_2", "")
data_frame["FirstName"] = data_frame["SplitName"].str[0].where(data_frame["Length"].eq(2),'')

只需使用
np.where

import numpy as np
data_frame["FirstName"] = np.where(data_frame["Length"].eq(2), "string_if_equal_2", "")
data_frame["FirstName"] = data_frame["SplitName"].str[0].where(data_frame["Length"].eq(2),'')

我们可以做
where

import numpy as np
data_frame["FirstName"] = np.where(data_frame["Length"].eq(2), "string_if_equal_2", "")
data_frame["FirstName"] = data_frame["SplitName"].str[0].where(data_frame["Length"].eq(2),'')

我们可以做
where

import numpy as np
data_frame["FirstName"] = np.where(data_frame["Length"].eq(2), "string_if_equal_2", "")
data_frame["FirstName"] = data_frame["SplitName"].str[0].where(data_frame["Length"].eq(2),'')

你确定
数据帧[“Length”]
的数据类型是
int
?什么是
数据帧[“SplitName”]。str[0]
?SplitName是一个列表,我想获取第一个元素你确定
数据帧[“Length”]
的数据类型是
int
?什么是
数据帧[“SplitName”]。str[0]
?SplitName是一个列表,我想得到第一个element@LarryDingyw:-)快乐编码~@LarryDing yw:-)快乐编码~