为什么 Pandas 在第一个位置设置零?

Why Pandas custs the zero in the first position?

我将数据加载到数据帧:

dfzips = pd.read_excel(filename_zips, dtype='object')

Dataframe 的列的值为:00590

加载数据帧后,我将其作为 590

我试过了dtype='object'。对我没有帮助。

这是 pandas 库中的众所周知的问题。

试试下面的代码:

dfzips = pd.read_excel(filename_zips, dtype={'name of the column': pd.np.str})

或:

尝试在阅读的同时编写转换器 excel。

示例:df = pd.read_excel(文件, dtype='string', header=headers, 转换器={'name of the column': decimal_converter})

函数decimal_converter:

def decimal_converter(值):

try:

    return str(float(value))

except ValueError:

    return value

转换器={'column name': 函数}

您可以根据需要修改转换器功能。

尝试以上解决方案。我希望它能奏效。美好的一天

您是否尝试过使用 str 而不是 object? 如果您使用 str(字符串),它会在开头保留零。

最好指定要更改为 str 或 object 的列名(不带引号)。

1)

dfzips = pd.read_excel(filename_zips,dtype=str)

它甚至支持字典映射,其中键构成列名,值构成要更改时要设置的数据类型。你没有指定列名所以我只是把它写成“column_1”

dfzips = pd.read_excel(filename_zips,dtype={"column_1":str})