Parsing Pandas read_表以十六进制形式读取混合类型读取字符串

Parsing Pandas read_表以十六进制形式读取混合类型读取字符串,parsing,pandas,dataframe,Parsing,Pandas,Dataframe,我有以下代码: los\u代码、age\u代码和race\u代码有另一个包含代码的表格。例如,race\u code是: race_code race_text 0 0000 All races 1 1XXX White, non-Hispanic 2 2XXX Black, non-Hispanic

我有以下代码:

los\u代码
age\u代码
race\u代码
有另一个包含代码的表格。例如,
race\u code
是:

  race_code                          race_text
0      0000                          All races
1      1XXX                White, non-Hispanic
2      2XXX                Black, non-Hispanic
3      3XXX                           Hispanic
4      4XXX          Asian or Pacific Islander
5      5XXX  American Indian or Alaskan Native
6      NRXX                       Not reported
阅读后,除代码为
0000
外,所有这三列都有
NaN
条目。如果列条目是
1XXX
NRXX
中的任何一个,则该条目变为
NaN

由于
0000
条目,熊猫似乎正在将列读取为
int
,但在读取带有
X
的条目后,熊猫会感到困惑(可能会将其混淆为十六进制)

如何强制熊猫将这些条目作为字符串读取

此外,我还得到了错误:

数据类型警告:列(1,4,5,6,7,8,9)的类型混合。在导入时指定dtype选项或将低内存设置为False。 交互性=交互性,编译器=编译器,结果=结果)


使用
'object'
代替
'str'

col_names = {'age_code':'object', 'los_code':'object', 'race_code':'object'}
考虑使用类似于
col\u dtypes
的内容,而不是
col\u names
作为变量名。也可以考虑阅读这些问题的答案。
另外,这是一个警告,而不是你得到的错误


编辑

好的,我看了你的数据和代码。这是我在简陋的MS Excel中打开您的表格时的一个屏幕截图。你能告诉我年龄码、种族码和洛杉矶码的值在哪里吗?因为如果列中没有数据,Pandas将在那里插入NaN。还请注意屏幕右下角截图中Excel生成的汇总统计信息。平均值=0,最小值=0,最大值=0,总和=0,计数=410。有410个读数,全部为零。我选择了感兴趣的三列中的所有行。正在读取的表中缺少数据

然后,分别读取年龄代码、种族代码和洛杉矶代码表似乎没有问题。最后,根据警告中的提示,在
pd.read\u table()
中传递
low\u memory=False
,而不是
dtype=col\u names


我认为你的问题得到了回答,因为缺失值在你的数据中。它们不是由熊猫引起的,也不是您的代码造成的。

事实上,我在问这个问题之前已经试过了,但没有成功。我已经编辑了这个问题,添加了GitHub.interest上代码的链接。因为一旦你通过了
dtype
kwarg,Pandas应该只使用该格式,并以该格式键入所有内容。让我明天运行一些测试,并相应地更新答案。检查答案中的编辑。问题在于您的数据,而不是您的代码或数据。此问题已回答。感谢您查看Kartik
col_names = {'age_code':'object', 'los_code':'object', 'race_code':'object'}