当我尝试以下操作时:
# Define the mapping
def my_float_to_string(f):
return "{:g}".format(f)
# This returns numpy.float64
type(my_xls['Subject'][0])
my_df['foo'] = my_df['foo'].map(float_to_string)
我得到:
ValueError: Unkonwn format code 'g'for object of type 'str'
但是,以下效果很好
test = my_float_to_string(5.0)
print test
'5'
为什么我无法在我的 Series
对象上逐元素应用我的函数?
另外,为什么 DataFrames 和 Series 对元素操作有不同的方法名称(即map
Series 与applymap
DataFrames)