python - DataFrame float 到整数?

标签 python pandas dataframe

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

df1 = df1.apply(lambda x : pd.to_numeric(x,errors='ignore'))

它可以满足我的需要,但它还会将标题下方的数据转换为 float 。有没有办法让他们转而使用 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_exceldtype参数接受字典输入:

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

这只有在您事先知道您的列时才有效。

关于python - DataFrame float 到整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48928947/

相关文章:

python - 多条件计数 : pandas dataframe

python - matplotlib 饼图中的百分比标签位置

python - 在 Gtk.ComboBoxText 中设置占位符文本?

python - Pyspark数据框获取列的所有值

python - Spark - 创建嵌套数据框

r - 重命名R中的一个命名列

python - 如何在也有字符串的列数据框中保留数字?

python - 正确的 Django 模型关系

python - 如何重命名 pandas 数据框中的条目?

python - 有人可以帮我在 Pandas Python 的样式点更正以下代码吗