Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将整数分配给Pandas中的单元格?_Python_Pandas - Fatal编程技术网

Python 如何将整数分配给Pandas中的单元格?

Python 如何将整数分配给Pandas中的单元格?,python,pandas,Python,Pandas,我想遍历一个数据帧,并使用enumerate()返回的指示符创建一个新列,但我无法将该值赋值为整数,需要稍后对其进行转换。是否有一个一次性解决方案 如您所见,整数的直接赋值失败 df.loc[indexes, ('route', 'id')] = int(i) print(df.loc[indexes, ('route', 'id')].dtypes) # float64 需要使用第二行代码进行转换: df.loc[indexes, ('route', 'id')] = df.loc[ind

我想遍历一个数据帧,并使用
enumerate()
返回的指示符创建一个新列,但我无法将该值赋值为整数,需要稍后对其进行转换。是否有一个一次性解决方案

如您所见,整数的直接赋值失败

df.loc[indexes, ('route', 'id')] = int(i)
print(df.loc[indexes, ('route', 'id')].dtypes)  # float64
需要使用第二行代码进行转换:

df.loc[indexes, ('route', 'id')] = df.loc[indexes, ('route', 'id')].astype(int)
print(df.loc[indexes, ('route', 'id')].dtypes)  # int64
link向您展示了如何将列的值分配为pandas中的int类型。 基本上,您可以使用:

  • to_numeric()-提供将非数字类型(例如字符串)安全转换为合适数字类型的功能。(另请参见to_datetime()和to_timedelta()
  • astype()-将(几乎)任何类型转换为(几乎)任何其他类型(即使这样做不一定明智)。还允许您转换为分类类型(非常有用)
  • 推断对象()-一种实用方法,用于在可能的情况下将包含Python对象的对象列转换为熊猫类型
  • convert\u dtypes()-将数据帧列转换为支持pd.NA的“最佳”数据类型(熊猫对象表示缺少值)

  • 如果将整数指定给特定单元格,则该单元格所在的列在其他所有位置都具有NaN。因此,它只能用float64表示。