python - 每次使用 pandas 在 Python 中重复值时分割数据帧
问题描述
我正在尝试从我拥有的数据帧生成字符串或至少一个不同的数据帧。我拥有的是:
Line MM/DD/YYhh:mm:ss.ms.us TEST
9 04/17/2013:44:18.215.500 S
20 04/17/2013:44:18.216.020 U
27 04/17/2013:44:18.216.544 P
34 04/17/2013:44:18.217.064 P
39 04/17/2013:44:18.217.584 L
48 04/17/2013:44:18.218.104 Y
55 04/17/2013:44:18.218.627 P
62 04/17/2013:44:18.219.147 R
69 04/17/2013:44:18.219.667 <CR>
76 04/17/2013:44:18.220.187 <LF>
179 04/17/2013:44:18.721.249 U
184 04/17/2013:44:18.721.769 L
193 04/17/2013:44:18.722.289 <CR>
200 04/17/2013:44:18.722.812 <LF>
304 04/17/2013:44:19.236.017 E
311 04/17/2013:44:19.236.537 R
318 04/17/2013:44:19.237.060 R
327 04/17/2013:44:19.237.580 <CR>
334 04/17/2013:44:19.238.100 <LF>
371 04/17/2013:44:19.649.033 M
376 04/17/2013:44:19.649.553 O
383 04/17/2013:44:19.650.073 D
390 04/17/2013:44:19.650.596 E
395 04/17/2013:44:19.651.116 ?
402 04/17/2013:44:19.651.636 <CR>
409 04/17/2013:44:19.652.156 <LF>
489 04/17/2013:44:20.160.040 T
496 04/17/2013:44:20.160.560 P
505 04/17/2013:44:20.161.084 <CR>
512 04/17/2013:44:20.161.604 <LF>
607 04/17/2013:44:20.642.301 P
614 04/17/2013:44:20.642.821 R
623 04/17/2013:44:20.643.345 <CR>
630 04/17/2013:44:20.643.865 <LF>
我正在尝试将上述代码段格式化为字符串,使其看起来像这样
04/17/2013:44:18.220.187-SUPPLYPR<CR><LF>
04/17/2013:44:18.722.812-UL<CR><LF>
.
.
.
它应该做的是,它应该获取 TEST 值所在的 MM/DD/YY 数据,并将 TEST 中的所有值组合起来,并为每次出现的 . 在这个 Dataframe 之前,我用来获取的原始数据是不同的,而且工作量很大。但现在我有点坚持如何获得这种格式。任何想法/建议将不胜感激。谢谢 :)
解决方案
IIUC,您正在寻找groupby
:
(df.groupby(df.TEST.shift().eq('<LF>').cumsum())
.agg({'MM/DD/YYhh:mm:ss.ms.us':'last',
'TEST':''.join})
.reset_index(drop=True)
)
输出:
MM/DD/YYhh:mm:ss.ms.us TEST
0 04/17/2013:44:18.220.187 SUPPLYPR<CR><LF>
1 04/17/2013:44:18.722.812 UL<CR><LF>
2 04/17/2013:44:19.238.100 ERR<CR><LF>
3 04/17/2013:44:19.652.156 MODE?<CR><LF>
4 04/17/2013:44:20.161.604 TP<CR><LF>
5 04/17/2013:44:20.643.865 PR<CR><LF>
推荐阅读
- android - MPAndroidChart LineChart 未正确绘制
- r - 将派对包用于决策树图时,导致此错误消息的原因是什么?
- python - 从日期时间中去除微秒
- android - 如何让这个 ViewModelFactory 更灵活并接受不同种类的 ViewModel 类?
- api - DocuSign API - 在每个文档的末尾添加签名页面
- angular - 如何将第三个状态添加到复选框?
- html - 为什么 input[type=checkbox] 不允许 CSS?
- ios - 由图像视图剪辑到边界的 CAShapeLayer
- c# - 如何获得对应的“名称”
- chart.js - 如何在chartjs中为条形设置不同的宽度?