Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.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 数据帧浮动到整数?_Python_Pandas_Dataframe - Fatal编程技术网

Python 数据帧浮动到整数?

Python 数据帧浮动到整数?,python,pandas,dataframe,Python,Pandas,Dataframe,我是编程新手,我编写了一个程序,可以使用Python读取和修改大型excel文件。在代码中,我有以下行: df1 = df1.apply(lambda x : pd.to_numeric(x,errors='ignore')) 它完成了我所需要的,但它也将标题下的数据转换为浮动。有没有办法让它们改为int类型 df1是一个数据帧,我正在尝试创建一个包含其内容的嵌套字典 选项2 用于现有数据框中的数字列列表: cols = ['col1', 'col2', 'col3'] df1[cols] =

我是编程新手,我编写了一个程序,可以使用Python读取和修改大型excel文件。在代码中,我有以下行:

df1 = df1.apply(lambda x : pd.to_numeric(x,errors='ignore'))
它完成了我所需要的,但它也将标题下的数据转换为浮动。有没有办法让它们改为int类型


df1是一个数据帧,我正在尝试创建一个包含其内容的嵌套字典

选项2

用于现有数据框中的数字列列表:

cols = ['col1', 'col2', 'col3']
df1[cols] = df1[cols].apply(pd.to_numeric, errors='ignore', downcast='integer')
标准的
astype(int)
是次优的,因为默认情况下它不会向下转换

选项1

正如@AntonvBR提到的,理想情况下,如果可能的话,您希望以向下转换整数的形式读取序列。那么,这种单独的转换就没有必要了

例如,
pd.read\u excel
dtype
参数接受字典输入:

df = pd.read_excel('file.xlsx', dtype={'Col1': np.int8})

这只有在您事先知道自己的专栏时才有效。

选项2

用于现有数据框中的数字列列表:

cols = ['col1', 'col2', 'col3']
df1[cols] = df1[cols].apply(pd.to_numeric, errors='ignore', downcast='integer')
标准的
astype(int)
是次优的,因为默认情况下它不会向下转换

选项1

正如@AntonvBR提到的,理想情况下,如果可能的话,您希望以向下转换整数的形式读取序列。那么,这种单独的转换就没有必要了

例如,
pd.read\u excel
dtype
参数接受字典输入:

df = pd.read_excel('file.xlsx', dtype={'Col1': np.int8})

这只有在您事先知道列的情况下才有效。

一般提示,请在文档中查找参数:。使用read_excel时还要查看数据类型。
df['column'].astype('int')
不工作?另外请注意,如果缺少值,则pandas会转换为浮点b/c浮点是pandas中唯一支持缺少值的数值类型(NaN)。一般提示,请在文档中查找参数:。使用read_excel时还要查看数据类型。
df['column'].astype('int')
不起作用?还要注意,如果缺少值,则pandas转换为float b/c float是pandas中唯一支持缺少值(NaN)的数字类型如果他/她事先知道应该使用dtype应用哪些列,那么效率会更高。只是如果你在字里行间读取,OP正在读取一个大的excel文件。在任何其他情况下,向下转换整数都是一种方式。如果他/她事先知道应该使用dtype应用哪些列,则效率会更高。只是如果你在行之间读取,OP读取的是一个大型excel文件。在任何其他情况下,向下转换整数是一种方法。