【excel表的按行转置,并合并成一列,整理面板数据】【python】

有时候回归分析常需要整理面板数据
就是把这样一行一行的数据
在这里插入图片描述
转化成这样一列一列的面板数据
在这里插入图片描述
我习惯用list的方法来整理,但是这样消耗的时间比较久。
好在只有1w条不到的数据,时间上不到1s,所以日常处理应该是够用的。
Running time: 0.13164949417114258 Seconds

import pandas as pd
data = pd.read_excel(".\建设高铁时间表.xlsx")

# 留出三个list存放数据
name_list = []
value_list = []
year_list = []

for i in range(len(data)):
	# 让每个城市的名字重复n次,n=面板涵盖的年份数
    name = list(np.full(len(list(data.iloc[i,:]))-1,list(data.iloc[i,:])[0]))
    # 这里extend能实现list的横向合并
    name_list.extend(name)
    # 这里去除每一行第一个单元格的城市名,留下values
    value = list(data.iloc[i,1:])
    
    value_list.extend(value)
    # 每次循环也将年份加入列表
    year_list.extend(list(data.columns)[1:])

# 循环结束后,每一列表中的数据按次序一一对应
# 先建立字典,后转化为dataframe,输出为excel
highwaydf = {
    'city':name_list,
    'hashighway':value_list,
    'year':year_list
}

highwaydf = pd.DataFrame(highwaydf)
highwaydf.to_excel("highway.xlsx")
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个Python自动化办公源码是一个用于将Excel文件中的)的工具。在处理Excel数据时,我们经常需要对数据换,以便更好地分析和展示数据。这个源码可以帮助我们快速实现这一功能,提高工作效率。首先,我们需要安装pandas和openpyxl库,这两个库分别用于处理Excel文件和进换。可以使用以下命令进安装: bash复制代码运pip install pandas openpyxl 接下来,我们需要编写一个Python脚本来实现换的功能。以下是一个简单的示例: python复制代码运import pandas as pddef transpose_excel(input_file, output_file): # 读取Excel文件 df = pd.read_excel(input_file) # 进换 transposed_df = df.T # 将换后的数据写入新的Excel文件 transposed_df.to_excel(output_file, index=False)if __name__ == "__main__": input_file = "example.xlsx" output_file = "transposed_example.xlsx" transpose_excel(input_file, output_file) 在这个示例中,我们首先导入了pandas库,并定义了一个名为transpose_excel的函数。这个函数接受两个参数:输入文件名和输出文件名。在函数内部,我们使用pandas的read_excel函数读取输入文件,并将其存储在一个名为df的DataFrame对象中。然后,我们使用DataFrame对象的T属性进换,并将结果存储在一个名为transposed_df的新DataFrame对象中。最后,我们使用DataFrame对象的to_excel方法将换后的数据写入输出文件。要使用这个脚本,只需将输入文件名和输出文件名替换为实际的文件名即可。例如,如果我们有一个名为example.xlsx的Excel文件,我们可以将其换后的结果保存到一个名为transposed_example.xlsx的新文件中。只需运以下命令: bash复制代码运python transpose_excel.py 这个Python自动化办公源码可以帮助我们在处理Excel数据时轻松实现换,提高我们的工作效率。重新回答|

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值