所以...讓我們只說我嘗試重建的例子。
years= [2012, 2013, 2014, 2015, 2016, 2011, 2007, 2008, 2009, 2010, 2002, 2003, 2004, 2005, 2006, 2017, 2001, 2000]
years = [str(x) for x in years]
dataAll = pd.DataFrame({'Date':years})
dataAll['Date'].str.len().unique()
Out[63]: array([4], dtype=int64)
換句話說,代碼工作正常,但在你的dataAll.Date的數據不是字符串。現在
我會做同樣的,但具有不同的數據表示,這將失敗兩次:
years= [2012, 2013, 2014, 2015, 2016, 2011, 2007, 2008, 2009, 2010, 2002, 2003, 2004, 2005, 2006, 2017, 2001, 2000]
dataAll = pd.DataFrame({'Date':years})
dataAll['Date'].str.len().unique()
Out[68]: AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas
years= [2012, 2013, 2014, 2015, 2016, 2011, 2007, 2008, 2009, 2010, 2002, 2003, 2004, 2005, 2006, 2017, 2001, 2000]
dataAll = pd.DataFrame({'Date':years}, dtype=object)
dataAll['Date'].str.len().unique()
Out[73]: array([ nan])
而且修復:
dataAll.Date = dataAll.Date.astype(str)
dataAll['Date'].str.len().unique()
Out[75]: array([4], dtype=int64)
超級...它的工作....非常感謝。 –