2013-04-06 4 views
1

Какой самый подходящий способ достижения панд? Я хочу, чтобы создать столбец с объектами даты и времени от «года», «месяц» и «день» колонны, но все, что я придумал некоторый код, который выглядит слишком громоздким:добавив новый столбец со значениями из существующих

myList=[] 
for row in df_orders.iterrows(): #df_orders is the dataframe 
    myList.append(dt.datetime(row[1][0],row[1][1],row[1][2])) 
    #-->year, month and day are the 0th,1st and 2nd columns. 
mySeries=pd.Series(myList,index=df_orders.index) 
df_orders['myDateFormat']=mySeries 

Большое спасибо за любая помощь.

ответ

2

Попробуйте это:

In [1]: df = pd.DataFrame(dict(yyyy=[2000, 2000, 2000, 2000], 
           mm=[1, 2, 3, 4], day=[1, 1, 1, 1])) 

Преобразование в целое число:

In [2]: df['date'] = df['yyyy'] * 10000 + df['mm'] * 100 + df['day'] 

Преобразовать в строку, а затем Задан (как pd.to_datetime будет интерпретировать число по-разному):

In [3]: df['date'] = pd.to_datetime(df['date'].apply(str)) 

In [4]: df 
Out[4]: 
    day mm yyyy    date 
0 1 1 2000 2000-01-01 00:00:00 
1 1 2 2000 2000-02-01 00:00:00 
2 1 3 2000 2000-03-01 00:00:00 
3 1 4 2000 2000-04-01 00:00:00 
+0

это также другой способ http://stackoverflow.com/questions/15839360/pandas-python-can-datetime-be-used-with-vectorized- Входы – Jeff

+0

--- Большое спасибо! – elelias

Смежные вопросы