我有一个非常大的数据框,我想要避免迭代每一行并将整个列从十六进制字符串转换为整数。使用astype无法正确处理字符串,但单个条目却没有问题。有没有办法告诉astype数据类型是十六进制?
IN:
import pandas as pd
df = pd.DataFrame(['1C8','0C3'], columns=['Command0'])
df['Command0'].astype(int)
OUT:
ValueError: invalid literal for int() with base10: '1C8'
这个方法可行,但希望避免对每行进行迭代操作。
for index, row in df.iterrows():
print(row['Command0'])
我从CSV中读取数据:pd.read_csv(open_csv, nrows=20)
,如果有一种方法可以显式地告诉它数据格式,那就更好了!
df = pd.read_csv(open_csv, nrows=20, converters = {'Command0': lambda x: int(x,16)})
- kaminsknator