簡體   English   中英

將地圖元素逐級應用於系列(熊貓)上的每個元素

[英]Applying a map elementwise to every element on a Series (Pandas)

當我嘗試以下操作時:

# 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對於元素操作具有不同的方法名稱(即,Series的mapapplymap的applymap)

使用時

my_df['foo'] = my_df['foo'].map(float_to_string)

float_to_string接收字符串,而不是浮點數。 要檢查您是否可以添加

assert(isinstance(f, float))

float_to_string

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM