我有一個熊貓數據框,一列是溫度(人類),但價值混合,攝氏和華氏,我想打破這個列成兩列(保持原來的一個)熊貓分成兩列,並得到名稱後綴錯誤
#C Temp will be added to the end of df
df = df.join(df.Temp.apply(lambda x: np.nan if x > 43 else x))
#F Temp will be added to the end of df
df = df.join(df.Temp.apply(lambda x: np.nan if x < 43 else x))
我想df.Temp.apply(lambda x: np.nan if x < 43 else x)
將返回一系列將要連接的df
結束,但我得到這個錯誤
ValueError: columns overlap but no suffix specified: Index([u'Temp'], dtype='object')
非常感謝,但爲什麼我會使用applymap並在所有的df單元上應用函數,這裏有不同類型的數據和所有其他的東西? – Hakim
我在中間擴展了一點,以突出爲什麼簡單地創建一個新的數據列在這裏比使用'join'更有意義。另一方面,請注意我並不是建議使用'applymap'這是一個DataFrame方法,而是使用普通的'map',它是一個Series方法。 'Series.map'專門用於元素操作,而'apply'則對函數進行一些額外的檢查,可以一次性對整個'.values'數據對象進行矢量操作。 – ely