Python 数据帧错误或功能中的项目类型?

Python 数据帧错误或功能中的项目类型?,python,pandas,Python,Pandas,如果我有一个熊猫数据框 df = read_csv("infile.csv") infle看起来像什么 i1,i2,f1,f2 3,1,0.1,2.0 2,1,0.3,0.5 i、 e.两列整数和一列浮点数 如果我使用以下命令查询此数据帧: print type(df["i1"].ix[0]) 类型是(我也希望是!)np.int64 鉴于如果我使用: print type(df.ix[0]["i1"]) 类型为np.64 这是正确的行为还是错误 我想这是因为: df.ix[0] 创建一

如果我有一个熊猫数据框

df = read_csv("infile.csv")
infle看起来像什么

i1,i2,f1,f2
3,1,0.1,2.0
2,1,0.3,0.5
i、 e.两列整数和一列浮点数

如果我使用以下命令查询此数据帧:

print type(df["i1"].ix[0])
类型是(我也希望是!)np.int64

鉴于如果我使用:

print type(df.ix[0]["i1"])
类型为np.64

这是正确的行为还是错误

我想这是因为:

df.ix[0]

创建一个系列对象[“i1”]然后从中选择?但这仍然很烦人。

正如您自己所注意到的,这确实是预期的行为,因为在
df.ix[0][“i1”]
中,您首先为第一行创建一个系列(因此所有项都被上溯到浮点以获得一个数据类型),然后才获取带有标签的项
“i1”

解决方案很简单:不要使用这种链式索引,而是在一个索引调用中结合两种查找(行和列):

df.ix[0, "i1"]

还有其他一些很好的理由可以避免这种链式索引(在查看/复制时遇到问题):

正如您自己所注意到的,这确实是预期的行为,因为在
df.ix[0][“i1”]
中,您首先为第一行创建一个系列(因此所有项都被上溯到float以获得一个数据类型),只有这样,您才能使用标签为“i1”的物品

解决方案很简单:不要使用这种链式索引,而是在一个索引调用中结合两种查找(行和列):

df.ix[0, "i1"]

还有其他一些很好的理由可以避免这种链式索引(在查看/复制时遇到问题):

正如您自己所注意到的,这确实是预期的行为,因为在
df.ix[0][“i1”]
中,您首先为第一行创建一个系列(因此所有项都被上溯到float以获得一个数据类型),只有这样,您才能使用标签为“i1”的物品

解决方案很简单:不要使用这种链式索引,而是在一个索引调用中结合两种查找(行和列):

df.ix[0, "i1"]

还有其他一些很好的理由可以避免这种链式索引(在查看/复制时遇到问题):

正如您自己所注意到的,这确实是预期的行为,因为在
df.ix[0][“i1”]
中,您首先为第一行创建一个系列(因此所有项都被上溯到float以获得一个数据类型),只有这样,您才能使用标签为“i1”的物品

解决方案很简单:不要使用这种链式索引,而是在一个索引调用中结合两种查找(行和列):

df.ix[0, "i1"]
还有其他一些很好的理由可以避免这种链式索引(查看/复制出现问题):