繁体   English   中英

更改 pandas dataframe 中的索引并添加额外的时间列

[英]Change index in a pandas dataframe and add additional time column

我有一个 pandas dataframe 目前没有指定索引(因此在打印时会创建一个以 0 开头的自动索引)。 现在我想在 dataframe 中有一个以 1 开头的“时间段”索引和一个额外的“一天中的时间”列。 在这里,您可以看到输出 csv 应该是什么样子的屏幕截图。 你能告诉我怎么做吗?

在此处输入图像描述

假设您的 dataframe 是df

df['time of day'] = df.index.astype(str).str.rjust(2, '0')+':00'
df.index += 1

output:没有 output,因为没有提供文本输入

如果超过 24 行:

df['time of day'] = (df.index%24).astype(str).str.rjust(2, '0')+':00'
df.index += 1

尝试使用pd.date_range

df['time of day'] = pd.date_range('1970-1-1', periods=len(df), freq='H') \
                      .strftime('%H:%M')

设置:

df = pd.DataFrame(np.random.randint(1, 50, (30, 2)), columns=['Column 1', 'Column 2'])
df.insert(0, 'time of day', pd.date_range('1970-1-1', periods=len(df), freq='H').strftime('%H:%M'))
df.index.name = 'timeslot'
df.index += 1
print(df)

# Output:
         time of day  Column 1  Column 2
timeslot                                
1              00:00        43        33
2              01:00        20        11
3              02:00        40        10
4              03:00        19        28
5              04:00        10        27
6              05:00        27        10
7              06:00         1        10
8              07:00        33        36
9              08:00        32         2
10             09:00        23        32
11             10:00         1        17
12             11:00        48        42
13             12:00        21         3
14             13:00        48        28
15             14:00        41        46
16             15:00        48        43
17             16:00        47         6
18             17:00        33        21
19             18:00        38        19
20             19:00        17        40
21             20:00         8        24
22             21:00        28        22
23             22:00         2        13
24             23:00        24         3
25             00:00         4         1
26             01:00         8         9
27             02:00        19        36
28             03:00        30        36
29             04:00        43        39
30             05:00        43         3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM