我有一个非常大的数据框,我想避免遍历每一行,并希望将整个列从十六进制字符串转换为 int。它不能使用 astype 正确处理字符串,但单个条目没有问题。有没有办法告诉 astype 数据类型是 base 16?
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)
因此,如果有一种方法可以读取它并明确告诉它格式是什么,那就更好了!
原文由 kaminsknator 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用
apply
。您可以使用
pd.read_csv
调用来执行此操作converters
参数: