1

我正在做一个pd.read_table文件.txt的基础。第一列是 cusips 列表。尖"65248E10"点被读取为数字65248E10 = 652480000000000(E10 为科学记数法)。

我一直在经历熊猫,但我不知道如何要求它保持角色。 http://pandas.pydata.org/pandas-docs/dev/generated/pandas.io.parsers.read_table.html#pandas.io.parsers.read_table

此外,即使我将标题 = 0,它似乎将第一行作为标题,然后第 0 行是第二行,依此类推。如果我的文本文件没有列名,我怎样才能让它默认为 NULL(或 1、2、3 等)

谢谢您的帮助。我是熊猫/python的新手

4

2 回答 2

2

如果我们有一个看起来像的数据文件

65248E10 11
55555E55 22

然后我们可以用类似的东西读入它

>>> pd.read_table("cusip.txt", header=None, delimiter=" ", converters={0: str})
          0   1
0  65248E10  11
1  55555E55  22

我们header=None用来告诉它没有任何标题,我们delimiter=" "用来告诉它有一个空格分隔符(调整以匹配您的数据格式),并converters={0: str}告诉它在将第一列作为字符串读取后,我们想要把它变成一个字符串(即在这种情况下什么都不做)而不是进一步处理它。代替converters={0: str},dtype=(str, int)也可以,但是这样我们仍然可以pandas弄清楚其他列是什么。

使用的问题header=00这里并不意味着“没有标题”,它意味着使用行号#0(第一行)作为标题。

于 2012-12-27T19:47:41.583 回答
1

要阻止您的列被读取为数字,请使用converters参数并指定str为包含“cusips”的列的转换器。

对于标题,如您链接到的页面上记录的那样,header是被视为标题的行;这不是一个布尔值“我是否有标题。将其设置为零意味着使用零行(即第一行)作为标题。文档明确指出:

如果没有标题行,请指定无。

于 2012-12-27T19:46:59.400 回答