2018年2月15日木曜日

pandas.DataFrameの中の値をfloatからintにする


In [1]: import pandas as pd

In [2]: csv = pd.read_csv('sample.csv',index_col=0)

In [3]: csv
Out[3]:
         class_id         image_name   xmax   xmin    ymax   ymin
0             Cat       IMG_0001.jpg  850.0  752.0   531.0  459.0
1             Cat       IMG_0002.jpg  508.0  193.0   481.0  260.0
2             Cat       IMG_0003.jpg  542.0  358.0   381.0  266.0
...           ...                ...    ...    ...     ...    ...
145597        Dog       IMG_9998.jpg  569.0  237.0   754.0  423.0
145598        Dog       IMG_9999.jpg  582.0  267.0   831.0  495.0

[145740 rows x 6 columns]

In [4]: csv[['xmin','ymin','xmax','ymax']] = csv[['xmin','ymin','xmax','ymax']].values.astype(int)

In [5]: csv
Out[5]:
         class_id         image_name  xmax  xmin  ymax  ymin
0             Cat       IMG_0001.jpg   850   752   531   459
1             Cat       IMG_0002.jpg   508   193   481   260
2             Cat       IMG_0003.jpg   542   358   381   266
...           ...                ...   ...   ...   ...   ...
145597        Dog       IMG_9998.jpg   569   237   754   423
145598        Dog       IMG_9999.jpg   582   267   831   495

[145740 rows x 6 columns]



・Loopするときとかfloatだと回せなかったりする