Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每次在Python中使用pandas重复一个值时,都要对数据帧进行分段_Python_Python 3.x_Pandas_Dataframe - Fatal编程技术网

每次在Python中使用pandas重复一个值时,都要对数据帧进行分段

每次在Python中使用pandas重复一个值时,都要对数据帧进行分段,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我正在尝试生成字符串,或者至少生成与现有数据帧不同的数据帧。我得到的是: 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

我正在尝试生成字符串,或者至少生成与现有数据帧不同的数据帧。我得到的是:

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>    
行MM/DD/YYhh:MM:ss.ms.us测试
2013年4月17日9:44:18.215.500秒
20 04/17/2013:44:18.216.020 U
2013年4月17日27时44分18.216.544分
3404/17/2013:44:18.217.064 P
39/04/17/2013:44:18.217.584 L
2013年4月17日48时44分18.218.104分
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        
76  04/17/2013:44:18.220.187        
179 04/17/2013:44:18.721.249 U
184 04/17/2013:44:18.721.769升
193 04/17/2013:44:18.722.289        
200 04/17/2013:44:18.722.812        
304 04/17/2013:44:19.236.017 E
311 04/17/2013:44:19.236.537 R
31804/17/2013:44:19.237.060 R
327 04/17/2013:44:19.237.580        
334 04/17/2013:44:19.238.100        
37104/17/2013:44:19.649.033米
37604/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        
409 04/17/2013:44:19.652.156        
48904/17/2013:44:20.160.040 T
49604/17/2013:44:20.160.560 P
505 04/17/2013:44:20.161.084        
512 04/17/2013:44:20.161.604        
60704/17/2013:44:20.642.301 P
61404/17/2013:44:20.642.821 R
623 04/17/2013:44:20.643.345        
630 04/17/2013:44:20.643.865        
我正在尝试将上面的代码片段格式化为字符串,使其看起来像这样

04/17/2013:44:18.220.187-SUPPLYPR<CR><LF>
04/17/2013:44:18.722.812-UL<CR><LF>
.
.
.
04/17/2013:44:18.220.187-SUPPLYPR
2013年4月17日:44:18.722.812-UL
.
.
.

它应该做的是,它应该获取测试值所在的MM/DD/YY数据,并将测试中的所有值合并到每个值,并为每个值的出现生成一个字符串。在这个数据帧之前,我获取的原始数据是不同的,需要做很多工作。但现在我有点困在如何得到这种格式。如有任何想法/建议,将不胜感激。谢谢:)

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) 
)
(df.groupby(df.TEST.shift().eq(“”).cumsum())
agg女士({'MM/DD/YYhh:MM:ss.ms.us':'last',
'TEST':''.join})
.reset_索引(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>
MM/DD/YYhh:MM:ss.ms.us测试
0 04/17/2013:44:18.220.187 SUPPLYPR
1 04/17/2013:44:18.722.812 UL
2 04/17/2013:44:19.238.100错误
3 04/17/2013:44:19.652.156模式?
2013年4月17日:44:20.161.604 TP
5 04/17/2013:44:20.643.865 PR

问题陈述不明确哇。这工作做得很好!!非常感谢你!!还有一件事,如果我想将“Line”列添加到这个列表中,或者在最左侧添加一个文本(例如-“cool”)?用
assign(Line=your\u new\u value)
链接它。但是,您需要手动重新排列列,使新列位于最左侧。那么上面代码段中已经存在的“Line”列呢?您想对它做什么,可以这样做,例如
.agg({'Line':'first',MM/DD…