- 此问题在此处已有答案**:
Difference between map, applymap and apply methods in Pandas(11个答案)
4天前关闭。
我有一个如下所示的 Dataframe (给出了示例数据):
df = pd.DataFrame({'smiles': ['CCCCC', 'CCCC1', 'CCCN1'],
'ID' : ['A-111', 'A112', 'A-113'],
'Parameter_1':[30.0, 31.4, 15.9],
'Parameter_2':[NaN, '0.644', '4.38E-02'],
'Date': [dt.date(2021, 1, 1), dt.date(2021, 1, 2), dt.date(2021, 1, 3)]})
我有以下功能:
def num_parse(element):
try:
float(element)
return float(element)
except ValueError:
return(element)
except TypeError:
return(element)
当我将我的函数应用于单个列时,它工作得很好--将任何可以浮动的字符串转换为float,并保持所有其他字符串不变,同时也保持datetime列不变。
df['Parameter_1'] = df['Parameter_1'].apply(num_parse)
当我将其应用于整个 Dataframe 时,我不断收到以下错误:
df = df.apply(num_parse)
TypeError:无法将序列转换为
我不知道为什么,请帮助。
1条答案
按热度按时间mhd8tkvw1#
使用applymap()
您也可以: