我现有一个表格文件,第一行第一列为路段ID,该行其余列为时间数据;第一列第一行为路段ID,该列其余行都为表示路段ID的字符串。中间各个空格是相应的ID及时间所唯一确定的一个数据,记为idx,我想将格式转换为时间和ID各位一列属性,再加上一列相对应的idx值,总共三列,生成一个新的表格
时间: 2024-02-29 16:52:23 浏览: 224
好的,您可以使用Python中的pandas库来完成这个任务。您可以按照以下步骤操作:
1. 使用pandas库的read_excel函数读取您的表格文件,将其转换为pandas的DataFrame格式。
2. 使用pandas的melt函数将表格变成长格式,其中路段ID和时间数据各为一列属性。
3. 将路段ID列和时间列合并成一个新的列,使用pandas的apply函数将其拼接成一个字符串,形如"路段ID_时间"。
4. 使用pandas的reset_index函数重置索引,将该字符串列和idx列作为新的DataFrame,即可得到您想要的结果。
以下是代码示例:
``` python
import pandas as pd
# 读取表格文件
df = pd.read_excel('your_file_path.xlsx')
# 将表格变成长格式
df = pd.melt(df, id_vars=['路段ID'], var_name='时间', value_name='idx')
# 合并路段ID和时间列
df['路段ID_时间'] = df.apply(lambda row: str(row['路段ID']) + '_' + row['时间'], axis=1)
# 重置索引,得到新的DataFrame
new_df = df[['路段ID_时间', 'idx']].reset_index(drop=True)
# 输出新表格
new_df.to_excel('your_new_file_path.xlsx', index=False)
```
注意将代码中的"your_file_path.xlsx"和"your_new_file_path.xlsx"替换为您的文件路径和新文件路径。
阅读全文