如果你真的想使用你的数据框架,你可以这样做:
我有一个Dataframe,其中一行有日期& &;时间信息而不是列,我想将其转换为日期&;时间数据类型。我能够更改单行,但无法将其保存到数据帧。下面是我的试验。请让我知道缺失的部分代码。也不要使用如何忽略没有时间信息的列(如列0)。
df = pandas.DataFrame({0: {0: 'A', 1: 'Timestamp', 2: 'B', 3: 'C', 4: 'D'}, 1: {0: '1-2.1', 1: '11/25/2020 2:34:25 PM', 2: 21, 3: 42, 4: 971}, 2: {0: '1-2.2', 1: 'Wed Nov 25 17:30:12 2020', 2: 21, 3: 42, 4: 971}, 3: {0: '1-1.1', 1: '11/30/2020 11:48:38 AM', 2: 20.9, 3: 29.9, 4: 957.9}, 4: {0: '1-1.1', 1: 'Mon Nov 30 13:39:00 2020', 2: 20.9, 3: 29.9, 4: 957.9}})
a = numpy.where(df.values == 'Timestamp')
R_Ele = a[0][0]
C_Ele = a[1][0]
print ("Row:",a[0][0])
print ("Column:",a[1][0])
df.loc[R_Ele] = pandas.to_datetime(df.loc[R_Ele])
print (df)
我认为你应该把你的df调换一下。
df1 = df.iloc[:,1:].T
df1.columns = df[0]
df1.Timestamp = pd.to_datetime(df1.Timestamp)
结果:
0 A Timestamp B C D
1 1-2.1 2020-11-25 14:34:25 21 42 971
2 1-2.2 2020-11-25 17:30:12 21 42 971
3 1-1.1 2020-11-30 11:48:38 20.9 29.9 957.9
4 1-1.1 2020-11-30 13:39:00 20.9 29.9 957.9
如果你真的想使用你的数据框架,你可以这样做:
df.loc[1,1:] = pd.to_datetime(df.loc[1,1:])