J'ai ces données en tant que dataframe et je souhaite regrouper les dates et créer des colonnes de temps:
empIdn date time
36 517 2019-05-02 12:00:12
54 517 2019-05-02 12:32:05
223 517 2019-05-02 05:18:57
95 517 2019-05-02 05:23:02
et ce que je veux réaliser c'est
empIdn date timeA timeB timeC timeD
36 517 2019-05-02 12:00:12 12:32:05 05:18:57 05:23:02
Voici ce que j'ai essayé jusqu'à présent:
datas = pd.read_csv(datFile, sep="\t",usecols=[0, skipinitialspace=True, names=['empId', 'date_time'])
df = pd.DataFrame(data = datas)
new = df['date_time'].str.split(" ", n = 1, expand = True)
df['empIdn'] = df['empId'].astype(int)
df['date'] = new[0]
df['time'] = new[1]
df['date'] = pd.to_datetime(df['date'])
df['time'] = pd.to_datetime(df['time'],format= '%H:%M:%S' ).dt.time
df.drop(columns=['date_time'], inplace = True)
df.drop(columns=['empId'], inplace = True)
df.sort_values('empIdn',inplace = True, ascending = True)
df3=df.groupby(['empIdn','date'])['time'].agg(list).reset_index(name='new')
df3 = df3.join(pd.DataFrame(df3.new.values.tolist(), df3.index).add_prefix('time_'))
df3.drop('new', axis=1, inplace = True)
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras