读入数据帧并转换一些列

时间:2016-08-04 20:54:46

标签: python pandas

我想使用read_csv在数据框中读取。例如:

data = pd.read_csv("foo.txt", sep=' ', header=None, dtype={0:np.uint32, 1:np.uint32, 2:np.str})

除了foo.txt具有前两个列为十六进制的笨拙属性。 E.g

ff462 44e44 house

您可以使用int("ff462", 16)将十六进制值转换为int。如何读取数据,确保前两列转换为dtype uint32?

2 个答案:

答案 0 :(得分:2)

显然这可行(cf.here):

data['1'] = data.1.apply(lambda x: int(x,base=0) )
data['1'] = data['1'].astype(np.uint32)

答案 1 :(得分:1)

您可以将数据作为字符串读入,然后将其转换为...

data = pd.read_csv("foo.txt", sep=' ', header=None, dtype=str)
data.iloc[:, [0, 1]] = df.iloc[:, [0, 1]].apply(lambda x: int(x, base=16)).astype(np.uint32)