Vous recherchez apply
(merge
est comme une base de données jointure.):
In [1]: from pandas import DataFrame
In [2]: df = DataFrame([[1,11,2012],[1,10,2012]], columns=['day','month','year'])
In [3]: df
Out[3]:
day month year
0 1 11 2012
1 1 10 2012
In [4]: df.apply(lambda row: str(row['day'])+'/'+str(row['month'])+'/'+str(row['year']), axis=1)
Out[4]:
0 1/11/2012
1 1/10/2012
La partie axis=1
signifie que vous sélectionnez des colonnes plutôt que de ramer.
Si vous voulez donner une date précise, vous pouvez utiliser datetime:
In [5]: import datetime
In [6]: df.apply(lambda row: datetime.datetime(row['year'],row['month'],row['day']), axis=1)
Out[6]:
0 2012-11-01 00:00:00
1 2012-10-01 00:00:00
Vous pouvez ajouter ces colonnes comme en vous dataframe comme suit:
In [7]: df['new_date'] = df.apply(lambda row: str(row['day'])+'/'+str(row['month'])+'/'+str(row['year']), axis=1)
In [8]: df
Out[8]:
day month year new_date
0 1 11 2012 1/11/2012
1 1 10 2012 1/10/2012
.
Il est à noter que les pandas ont un moyen facile de parse_dates
when reading as a csv.
Qu'est-ce qu'un DataFrame? S'il vous plaît nous montrer du code afin que nous puissions comprendre ce que vous faites. –
son pandas DataFrame im sûr ... pandas étant un wrapper numpy avec des fonctionnalités supplémentaires .... (il est probablement classé comme plus d'un wrapper) –
temp = read_table (dossier + r '\ BBE_12-11-13_0731_edited_2.lvm' , sep = r \ 't') cols = [ 'Année', 'Mois', 'Day', 'Heure' 'minute', 'Seconde', 'Profondeur (m)' , 'Température (° C)', 'Green (μg_l)', 'Blue_Green (μg_l)', 'Diatomée (μg_l)', 'Crypto (μg_l)', 'Class5 (μg_l)', 'Class6 (μg_l)', 'Classe 7 (μg_l)', 'Yellow (μg_l)', 'Transmission (%)'] df = trame de données (data = temp) df.columns = cols –