TypeError: can only concatenate str (not “numpy.int64”) to str
我想基于以下数据集基于索引号打印变量:
在这里,我使用了以下代码:
1 2 3 4 5 6 7 8
| import pandas as pd
airline = pd.read_csv("AIR-LINE.csv")
pnr = input("Enter the PNR Number")
index = airline.PNRNum[airline.PNRNum==pnr].index.tolist()
zzz = int(index[0])
print("The flight number is" + airline.FlightNo[zzz] ) |
我收到以下错误:
TypeError: can only concatenate str (not"numpy.int64") to str
我知道该错误是因为FlightNo变量包含int值。 但是我不知道如何解决。 任何想法?
-
print("The flight number is" + str(airline.FlightNo[zzz]) )?
-
你是传奇! 工作正常。 谢了哥们!!
-
顺便说一句,你能告诉我为什么会这样吗?
-
检查我的答案。 @PrakashNatarajan
将您的int转换为字符串:
1
| str(airline.Flightno[zzz]) |
如果只想打印,请执行以下操作:
1
| print("The flight number is", airline.FlightNo[zzz]) |
此处无需将int转换为str。 您在语句中出错,因为您无法连接字符串和整数。 尝试在Python控制台中执行"a" + 1,然后查看显示的错误。
-
不,它会引发相同的错误。 应该使用str(airline.FlightNo[zzz]。
-
您是否将+替换为,? @PrakashNatarajan
-
是的,它有效。 谢谢! 顺便说一句你能解释吗?
-
您不能串联不同的数据类型对象。 两个对象都必须是str类型。 但是,当您使用,打印时,它将自动格式化整数。 如果解决了您的问题,请标记为接受。 @PrakashNatarajan
-
当然谢谢!
-
我也想在输入PNR编号的过程中分隔错误输入的PNRNum。 我使用了if airline.PNRNum!=pnr: print("Enter correct PNR Number."),但是会引发错误。 如何检查特定列中是否没有输入的值?
-
@PrakashNatarajan看到这个。
-
谢了哥们!! 那正是我正在寻找的东西。