Skip to main content
 首页 » 编程设计

python之将 Python 列表解析为 Pandas DataFrame

2025年05月04日20yxwkf

我有一个数组,其值由“|”分隔。我想将它解析为 Pandas 数据框。

import pandas as pd     
arr = ['19345360853|5264654|100530|2017-01-07', '19345360853|13518371|100530|2018-10-08'] 
pd.DataFrame([{'Id': item.split('|')[0] ,'Code_A': item.split('|')[1] , 'Code_B': item.split('|')[2],'Reg_Date': item.split('|')[3]} for item in arr ]) 

我希望 pandas 数据框采用以下模式,

'Id' 字符串 'Code_A' 字符串 'Code_B' 字符串 'Reg_Date' 日期

因此生成的 Pandas 数据框与此类似。 result dataframe

感谢任何帮助。

请您参考如下方法:

首先,转为二维列表

arr = [a.split("|") for a in arr] 

其次,转换为pandas dataframe

data = pd.DataFrame(arr,columns=['Id','Code_A','Code_B','Reg_Date']) 
 
            Id    Code_A  Code_B    Reg_Date 
0  19345360853   5264654  100530  2017-01-07 
1  19345360853  13518371  100530  2018-10-08 

使用 astype 转换列 Reg_Date(引用:astype)

a =pd.DataFrame(arr,columns=['Id','Code_A','Code_B','Reg_Date']) 
a['Reg_Date'] = a['Reg_Date'].astype('datetime64[ns]')