環境
- Python 3.13.1
- pandas 2.2.3
内容
以下のような、value
列にいろんな種類の値が格納されているCSVを読み込みたいです。
bar.csv
key,value
count,1
name,alice
当然といえば当然なのですが、数値と数値以外が混在していると、すべての値は文字列型です。
In [52]: df=pandas.read_csv("bar.csv")
In [53]: df.dtypes
Out[53]:
key object
value object
dtype: object
In [54]: df["value"]
Out[54]:
0 1
1 alice
Name: value, dtype: object
In [55]: for v in df["value"]:
...: print(f"{v=}, {type(v)=}")
...:
v='1', type(v)=<class 'str'>
v='alice', type(v)=<class 'str'>
数値に変換できる'1'
は、数値型に変換されるものだと思い込んでいたので、少しハマりました。