簡體   English   中英

將datetime列添加到數字數據幀會強制將值設為數字,因此NaN

[英]adding datetime column to numeric dataframe forces values as numeric hence NaN

我有一個帶有數字條目的數據框,我希望向其中添加一些數字代碼作為字符串,這些數字代碼也被當作數字,盡管我嘗試指定dtype ='str',並且由於它們看起來不像數字,所以它們變成了NaN:

dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
df['codes'] = pd.Series(['3/27', '3/22', '3/23', '3/27', '3/58', '3/29'], dtype='str')
df

產生:

Out[1]: 
                   A         B         C         D codes
2013-01-01 -1.071662  0.322842 -1.364833  1.046144   NaN
2013-01-02 -1.779425  1.403387 -1.603079  2.117234   NaN
2013-01-03 -0.759267 -0.305942  1.310631  0.606185   NaN
2013-01-04  1.610275 -0.681264  0.800195  0.775496   NaN
2013-01-05  1.145720  0.252765 -1.512279 -0.222186   NaN
2013-01-06  1.267579 -1.412583 -0.270927  0.584454   NaN

我該怎么做才能將這些代碼輸入為字符串?

添加index=df.index以使新SeriesDataFrame對齊:

df['codes'] = pd.Series(['3/27', '3/22', '3/23', '3/27', '3/58', '3/29'], index=df.index)

或分配列表:

df['codes'] = ['3/27', '3/22', '3/23', '3/27', '3/58', '3/29']

暫無
暫無

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

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