我正在遍历数据帧的行以提取如下值,但我收到的总是一个浮点值,并且我无法将结果[“YEAR\u TORONTO”]
和结果[“YEAR\u TORONTO2”]
for i in range(0, len(result)):
if result["SOURCE_DATASET"].iloc[i] == "toronto":
result["YEAR_TORONTO"].iloc[i] = pd.to_datetime(result["START_DATE"].iloc[i]).year
result["YEAR_TORONTO"].iloc[i].astype(int) if not np.isnan(result["YEAR_TORONTO"].iloc[i]) else np.nan
result["YEAR_TORONTO2"].iloc[i] = result["YEAR_TORONTO"].iloc[i]
你知道为什么会这样吗?尝试了多种方法,包括pd.\u numeric
和round()
,但尽管采用了这种方法,还是没有成功
有趣的是,当我输出结果["YEAR_TORONTO"]. iloc[1]. astype(int)如果不是np.isnan(结果["YEAR_TORONTO"]. iloc[i])np.nan
,我得到2016
作为int,但是一旦我输出整个数据帧通过调用结果
,我仍然得到2016.0
作为一个浮动
样本数据(输入):
SOURCE_DATASET START_DATE
0 brampton 06-04-16
1 toronto 06-04-16
2 brampton 06-04-16
3 toronto 06-04-99
样本数据(输出):
SOURCE_DATASET START_DATE YEAR_TORONTO YEAR_TORONTO2
0 brampton 06-04-16 NaN NaN
1 toronto 06-04-16 2016.0 2016.0
2 brampton 06-04-16 NaN NaN
3 toronto 06-04-99 1999.0 1999.0
刚刚尝试了np.where
,得到了相同的结果。
您使用astype()
的方法是正确的,但是如果您的列包含nan
,它确实有效。你可以试着先分开
result["YEAR_TORONTO"].astype(str).str.split('.', expand=True)[0].tolist()
然后分开,然后从那里拿走。
或者
Result.loc[RESULT['TORONTO'].notnull(), 'x'] = result.loc[result['TORONTO'].notnull(), 'x'].apply(int)
问题内容: 我想对成绩簿方法使用2D数组,其中包含学生姓名,然后是考试成绩。在课堂上,我有以下内容。 但是我得到一个错误int []无法转换为int。 问题答案: 你有: 但是是一个。数组维数必须为,因此不能用作数组维数(鉴于字面量是多少,我可以理解您对错误的困惑:它想要一个,但您给了它一个)。 从您的描述来看,我猜您的意思是: 哪里是你需要的,包含考试的次数。不过,只是一个猜测。
问题内容: 这里是编程的新手,并且我一直收到错误消息,“不兼容的类型,不能将int转换为int []”,问题是如果R1和R2的长度相等,则将它们加在一起,如果没有打印出一条信息,说明“数组的长度必须相同”,如果这很重要,则不知道我在哪里出错,将不胜感激任何帮助 问题答案: 您需要分配给数组元素,但是这样做做错了。
问题内容: 我想将SQL COUNT的结果存储在变量中,然后将它们除,但是出现错误: 注意:类mysqli_result的对象无法在----中转换为int 我曾经在测试时显示结果…我该如何解决? 问题答案: 您需要先获取结果并将其存储在变量中,然后再进行数学运算。
我在pandas中有一个数据帧,它混合了int和str数据列。我想先连接dataframe中的列。为此,我必须将列转换为。我试着做了如下工作: 或 但在这两种情况下,它都不起作用,我得到一个错误,说“不能连接'str'和'int'对象”。将两个列串联在一起可以很好地工作。
我是斯威夫特的新人,现在尽我所能地学习这个。我写了得到参数的函数:数字和函数,它们与这个数字一起工作: 但是编译给出错误。当我试图改变论点时,比如
假设我有一个字符串流: 工作正常: 比较器是一种功能接口。这意味着我们可以使用方法引用或lambdas来实现它。Comparator接口实现一个方法,该方法接受两个字符串参数并返回一个int。但是,Comparator::ReverseOrder不这样做。它是对接受零参数并返回比较器的函数的引用。这与接口不兼容。这意味着我们必须使用方法,而不是方法引用。 但我不明白。