将行in转换为DateTime数据类型



我有一个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:])

最新更新