如何使用Python获取前8位CUSIP(compustat数据库)?

时间:2019-04-29 01:57:54

标签: python string

我从COMPUSTAT数据库获取CUSIP数据。这里的CUSIP是9位数字,我想提取它的前8位数字。但是,当我尝试以下代码时,输​​出非常奇怪。

例如,对于CUSIP = 000032102(数据类型为object),我获得以下信息: 0 000032102 1 000032102 2 000032102 3 000032102 4 000032102 5 000032102 6 000032102 7 000032102 名称:cusip2,dtype:对象

这实际上是“ CUSIP”列的前8行,而不是每个CUSIP编号的前8位。我应该怎么做才能获得CUSIP的前8位数字。非常感谢!

df['cusip2'] = df['cusip'].astype(str)
df['cusip2'] = str(df['cusip2'][:8])

1 个答案:

答案 0 :(得分:0)

您应该使用str accessor,它允许您将操作以字符串的形式映射到每个元素的列中:

df['cusip2'].astype(str).str[:8]