Python 检查列是否由字符串数据类型中的数字组成

Python 检查列是否由字符串数据类型中的数字组成,python,pandas,dataframe,Python,Pandas,Dataframe,下面是有关df简化版本的脚本: import pandas as pd df = pd.DataFrame({ 'feature' : ['cd_player', 'sat_nav', 'sub_woofer', 'usb_port','cd_player', 'sat_nav', 'sub_woofer', 'usb_port','cd_player', 'sat_nav', 'sub_woofer', 'usb_port'],

下面是有关df简化版本的脚本:

import pandas as pd

df = pd.DataFrame({ 
               'feature'       : ['cd_player', 'sat_nav', 'sub_woofer', 'usb_port','cd_player', 'sat_nav', 'sub_woofer', 'usb_port','cd_player', 'sat_nav', 'sub_woofer', 'usb_port'],
               'feature_value' : ['1','1','0','4','1','0','0','1','1','1','1','0'],
               'feature_colour' : ['red','orange','yellow','green','blue','indigo','violet','red','orange','yellow','green','blue']
                 })
df
    feature     feature_value   feature_colour
0   cd_player   1               red
1   sat_nav     1               orange
2   sub_woofer  0               yellow
3   usb_port    4               green
4   cd_player   1               blue
5   sat_nav     0               indigo
6   sub_woofer  0               violet
7   usb_port    1               red
8   cd_player   1               orange
9   sat_nav     1               yellow
10  sub_woofer  1               green
11  usb_port    0               blue

df.dtypes

feature          object
feature_value    object
dtype: object
我想找到一种方法来查找具有数值的所有列,并将它们的数据类型转换为整数和/或浮点。当然,在本例中,手动操作很容易,但是所讨论的DF具有约50个带有数值的潜在COL,但由于它们都具有
对象
数据类型,因此手动确定效率很低

预期产出:

df.dtypes

feature          object
feature_value     int64
dtype: object
任何帮助都将不胜感激。

试试以下方法:

df = df.apply(lambda x: pd.to_numeric(x, errors='ignore'))
df.dtypes
试试这个:

df = df.apply(lambda x: pd.to_numeric(x, errors='ignore'))
df.dtypes

正如我所希望的那样,非常感谢你的帮助!正如我所希望的那样,非常感谢你的帮助!