如何重新设置数据帧的范围?

2024-09-29 02:24:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用SAP系统中的数据为IForest模型提供数据。 为此,我使用RFC\u READ\u表来获取数据。 RFC\u READ\u表的输出是dict对象。 当我把dict对象放入pandas数据帧时,我得到的不是我需要的数据帧,也不知道如何得到它。 我想要一个像这样的数据帧:

    Col1  Col2  Col3
0:  val01 val02 val03
1:  val11 val12 val13

但得到的数据帧如下:

                                                 DATA
0   {'WA': '700,AA ,0017,US ,NEW YORK            ,...

我想每个字段都在一个字符串中。字段应为700或AA。 我不能给列命名,唯一的列是数据。你知道吗

我试着把RFC\u READ\u表的输出直接放到pd.数据帧. 失败的原因是输出

result = conn.call('RFC_READ_TABLE',QUERY_TABLE='SPFLI',DELIMITER=',')
print(result)
Out:
{'DATA': [{'WA': '700,AA ,0017,US ,NEW YORK            ,JFK,US ,SAN        
FRANCISCO       ,SFO,      361 ,110000,140100,2572.0000,MI , , 0'}......
'FIELDS': [{'FIELDNAME': 'MANDT', 'OFFSET': '000000', 'LENGTH':   
'000003', 'TYPE': 'C', 'FIELDTEXT': 'Client'}, ......
'OPTIONS': []}

所以数据、字段和选项是关键,后面的一切都是一个字符串(我猜)。要去掉“字段”和“选项”,我需要:

result = dict(list(result.items())[:1])

然后我把“结果”放进pd.数据帧地址:

df = pd.DataFrame.from_dict(result)
print(df)
Out:
                                                 DATA
0   {'WA': '700,AA ,0017,US ,NEW YORK            ,...
1   {'WA': '700,AA ,0064,US ,SAN FRANCISCO       ,...

所以不知何故,有些值并没有显示出来,一行的每个字段都在一个字段中。 我想要这样的东西:

    MANDT   CARRID   CONNID 
0   700      AA        0017
1   700      AA        0064

等等。你知道吗

我试过:

columnnames=['MANDT','CARRID','CONNID',...]
df = pd.DataFrame.from_dict(result,columns=columnnames)

但是得到:

ValueError:不能将columns参数与orient='columns'一起使用

所以我试着:

orient='index'

但是得到:

断言错误:传递了16列,传递的数据有26列

我想那不是我想要的。你知道吗

这张桌子有26行。你知道吗


Tags: columns数据dfnewreaddatarfcresult
1条回答
网友
1楼 · 发布于 2024-09-29 02:24:57

为了创造我的字典。你知道吗

d = {'DATA': [{'WA': '700,AA ,0017,US ,NEW YORK            ,JFK,US ,SAN FRANCISCO           
,SFO,      361 ,110000,140100,2572.0000,MI , , 0'}, {'WA': '700,AA ,0064,US ,SAN  
FRANCISCO       ,SFO,US ,NEW YORK            ,JFK,      321 
,090000,172100,2572.0000,MI , , 0'}, {'WA': '700,AZ ,0555,IT ,ROME                
,FCO,DE ,FRANKFURT           ,FRA,      125 ,190000,210500,845.0000 ,MI , , 0'}, 
{'WA': '700,AZ ,0788,IT ,ROME                ,FCO,JP ,TOKYO               ,TYO,      
775 ,120000,085500,6130.0000,MI , , 1'}, {'WA': '700,AZ ,0789,JP ,TOKYO               
,TYO,IT ,ROME                ,FCO,      940 ,114500,192500,6130.0000,MI , , 0'}, 
{'WA': '700,AZ ,0790,IT ,ROME                ,FCO,JP ,OSAKA               ,KIX,      
815 ,103500,081000,6030.0000,MI ,X, 1'}, {'WA': '700,DL ,0106,US ,NEW YORK            
,JFK,DE ,FRANKFURT           ,FRA,      475 ,193500,093000,3851.0000,MI , , 1'}, 
{'WA': '700,DL ,1699,US ,NEW YORK            ,JFK,US ,SAN FRANCISCO       ,SFO,      
382 ,171500,203700,2572.0000,MI , , 0'}, {'WA': '700,DL ,1984,US ,SAN FRANCISCO       
,SFO,US ,NEW YORK            ,JFK,      325 ,100000,182500,2572.0000,MI , , 0'}, 
{'WA': '700,JL ,0407,JP ,TOKYO               ,NRT,DE ,FRANKFURT           ,FRA,      
725 ,133000,173500,9100.0000,KM , , 0'}, {'WA': '700,JL ,0408,DE ,FRANKFURT           
,FRA,JP ,TOKYO               ,NRT,      675 ,202500,154000,9100.0000,KM ,X, 1'}, 
{'WA': '700,LH ,0400,DE ,FRANKFURT           ,FRA,US ,NEW YORK            ,JFK,      
444 ,101000,113400,6162.0000,KM , , 0'}, {'WA': '700,LH ,0401,US ,NEW YORK            
,JFK,DE ,FRANKFURT           ,FRA,      435 ,183000,074500,6162.0000,KM , , 1'}, 
{'WA': '700,LH ,0402,DE ,FRANKFURT           ,FRA,US ,NEW YORK            ,JFK,      
455 ,133000,150500,6162.0000,KM ,X, 0'}, {'WA': '700,LH ,2402,DE ,FRANKFURT           
,FRA,DE ,BERLIN              ,SXF,       65 ,103000,113500,555.0000 ,KM , , 0'}, 
{'WA': '700,LH ,2407,DE ,BERLIN              ,TXL,DE ,FRANKFURT           ,FRA,       
65 ,071000,081500,555.0000 ,KM , , 0'}, {'WA': '700,QF ,0005,SG ,SINGAPORE           
,SIN,DE ,FRANKFURT           ,FRA,      825 ,225000,053500,*000.0000,KM , , 1'}, 
{'WA': '700,QF ,0006,DE ,FRANKFURT           ,FRA,SG ,SINGAPORE           ,SIN,      
670 ,205500,150500,*000.0000,KM , , 1'}, {'WA': '700,SQ ,0002,SG ,SINGAPORE           
,SIN,US ,SAN FRANCISCO       ,SFO,     1105 ,170000,192500,8452.0000,MI , , 0'}, 
{'WA': '700,SQ ,0015,US ,SAN FRANCISCO       ,SFO,SG ,SINGAPORE           ,SIN,     
1125 ,160000,024500,8452.0000,MI , , 2'}, {'WA': '700,SQ ,0158,SG ,SINGAPORE           
,SIN,ID ,JAKARTA             ,JKT,       95 ,152500,160000,560.0000 ,MI , , 0'}, 
{'WA': '700,SQ ,0988,SG ,SINGAPORE           ,SIN,JP ,TOKYO               ,TYO,      
400 ,163500,001500,3125.0000,MI , , 1'}, {'WA': '700,UA ,0941,DE ,FRANKFURT           
,FRA,US ,SAN FRANCISCO       ,SFO,      696 ,143000,170600,5685.0000,MI , , 0'}, 
{'WA': '700,UA ,3504,US ,SAN FRANCISCO       ,SFO,DE ,FRANKFURT           ,FRA,      
630 ,150000,103000,5685.0000,MI , , 1'}, {'WA': '700,UA ,3516,US ,NEW YORK            
,JFK,DE ,FRANKFURT           ,FRA,      445 ,162000,054500,6162.0000,KM , , 1'}, 
{'WA': '700,UA ,3517,DE ,FRANKFURT           ,FRA,US ,NEW YORK            ,JFK,      
495 ,104000,125500,6162.0000,KM , , 0'}], 'FIELDS': [{'FIELDNAME': 'MANDT', 
'OFFSET': '000000', 'LENGTH': '000003', 'TYPE': 'C', 'FIELDTEXT': 'Client'}, 
{'FIELDNAME': 'CARRID', 'OFFSET': '000004', 'LENGTH': '000003', 'TYPE': 'C', 
'FIELDTEXT': 'Airline Code'}, {'FIELDNAME': 'CONNID', 'OFFSET': '000008', 
'LENGTH': '000004', 'TYPE': 'N', 'FIELDTEXT': 'Flight Connection Number'}, 
{'FIELDNAME': 'COUNTRYFR', 'OFFSET': '000013', 'LENGTH': '000003', 'TYPE': 'C', 
'FIELDTEXT': 'Country Key'}, {'FIELDNAME': 'CITYFROM', 'OFFSET': '000017',  
'LENGTH': '000020', 'TYPE': 'C', 'FIELDTEXT': 'Departure city'}, {'FIELDNAME': 
'AIRPFROM', 'OFFSET': '000038', 'LENGTH': '000003', 'TYPE': 'C', 'FIELDTEXT': 
'Departure airport'}, {'FIELDNAME': 'COUNTRYTO', 'OFFSET': '000042', 'LENGTH': 
'000003', 'TYPE': 'C', 'FIELDTEXT': 'Country Key'}, {'FIELDNAME': 'CITYTO', 
'OFFSET': '000046', 'LENGTH': '000020', 'TYPE': 'C', 'FIELDTEXT': 'Arrival city'}, 
{'FIELDNAME': 'AIRPTO', 'OFFSET': '000067', 'LENGTH': '000003', 'TYPE': 'C', 
'FIELDTEXT': 'Destination airport'}, {'FIELDNAME': 'FLTIME', 'OFFSET': '000071', 
'LENGTH': '000010', 'TYPE': 'I', 'FIELDTEXT': 'Flight time'}, {'FIELDNAME': 
'DEPTIME', 'OFFSET': '000082', 'LENGTH': '000006', 'TYPE': 'T', 'FIELDTEXT': 
'Departure time'}, {'FIELDNAME': 'ARRTIME', 'OFFSET': '000089', 'LENGTH': 
'000006', 'TYPE': 'T', 'FIELDTEXT': 'Arrival time'}, {'FIELDNAME': 'DISTANCE', 
'OFFSET': '000096', 'LENGTH': '000009', 'TYPE': 'P', 'FIELDTEXT': 'Distance'}, 
{'FIELDNAME': 'DISTID', 'OFFSET': '000106', 'LENGTH': '000003', 'TYPE': 'C', 
'FIELDTEXT': 'Mass unit of distance (kms, miles)'}, {'FIELDNAME': 'FLTYPE', 
'OFFSET': '000110', 'LENGTH': '000001', 'TYPE': 'C', 'FIELDTEXT': 'Flight type'}, 
{'FIELDNAME': 'PERIOD', 'OFFSET': '000112', 'LENGTH': '000003', 'TYPE': 'b', 
'FIELDTEXT': 'Arrival n day(s) later'}], 'OPTIONS': []}

相关问题 更多 >