python - 重新排序数据并创建新的数据文件
问题描述
我对编程有点陌生,它不是我的分支,但我需要这个任务在几天内分析我的数据,现在没有足够的时间专门研究 python。假设我有如下所示的数据文件:
0 2
0.5 8.4
1 354.8
0 41
0.5 2
1 48.8
现在我需要从这个看起来像这样的新数据文件创建:
0 2 41
0.5 8.4 2
1 354.8 48.8
每当第一列中的值为零时,它将开始将第二列中的数据写入新列。第一列中的数字序列总是重复的。这只是一个特例,会有更多的重复序列0、0.5和1。
我很乐意为这项任务寻求一些帮助,或者给我一些指导如何在 python 中解决它。
解决方案
使用pandas
. 假设列上的名称:
df.columns = ['a', 'b']
df
a b
0 0.0 2.0
1 0.5 8.4
2 1.0 354.8
3 0.0 41.0
4 0.5 2.0
5 1.0 48.8
您可以使用:
df2 = df.groupby(['a'])['b'].apply(list).reset_index() # group by "a", get grouped "b" in list format
并得到:
a b
0 0.0 [2.0, 41.0]
1 0.5 [8.4, 2.0]
2 1.0 [354.8, 48.8]
最后提取行数据:
Row_list =[]
for index, rows in df2.iterrows():
my_list =[rows.a, rows.b]
my_list= str(my_list).replace('[','').replace(']','')
Row_list.append(my_list)
print(Row_list)
['0.0, 2.0, 41.0', '0.5, 8.4, 2.0', '1.0, 354.8, 48.8']
推荐阅读
- swift - 按日期搜索笔记的模型
- php - lighthouse php 使用 eloquent 模型访问器和修改器
- excel - 从 Spring Boot 应用程序执行 VB 脚本
- node.js - 出现错误:“npm ERR!缺少脚本:开始”,但启动脚本在那里
- c++ - 如何在接收变量值作为输入时使用变量声明数组?检查我的代码
- javascript - 尝试使用正则表达式显示无效电子邮件的错误,但更改 reactjs 后无法提交
- javascript - jQuery对象中的反向迭代?
- node.js - [SyntaxError: JSON Parse error: Unrecognized token '<']
- html - 每当我放大或调整窗口大小时,HTML 导航栏都会消失并在页面上移动
- python - 散景错误 FactorRange 必须为轴指定一个唯一的分类因子列表:找到重复的因子:'M. 拉克斯米坎特