Python 将格式化为数据帧的字符串转换为实际数据帧
我正在尝试将格式化字符串转换为数据帧Python 将格式化为数据帧的字符串转换为实际数据帧,python,string,pandas,dataframe,fpgrowth,Python,String,Pandas,Dataframe,Fpgrowth,我正在尝试将格式化字符串转换为数据帧 [['CD_012','JM_022','PT_011','CD_012','JM_022','ST_049','MB_021','MB_021','CB_003' ,'FG_031','PC_004'],['NL_003','AM_006','MB_021'], ['JA_012','MB_021','MB_021','MB_021'],['JU_006'], ['FG_002','FG_002','CK_055','ST_049','NM_004','C
[['CD_012','JM_022','PT_011','CD_012','JM_022','ST_049','MB_021','MB_021','CB_003'
,'FG_031','PC_004'],['NL_003','AM_006','MB_021'],
['JA_012','MB_021','MB_021','MB_021'],['JU_006'],
['FG_002','FG_002','CK_055','ST_049','NM_004','CD_012','OP_002','FG_002','FG_031',
'TG_005','SP_014'],['FG_002','FG_031'],['MD_010'],
['JA_012','MB_021','NL_003','MZ_020','MB_021'],['MB_021'],['PC_004'],
['MB_021','MB_021'],['AM_006','NM_004','TB_006','MB_021']]
我正试图使用pandas.DataFrame
方法来实现这一点,但结果是整个字符串被放置在DataFrame
中的一个元素中 这就是你的意思吗
import pandas as pd
list_of_lists = [['CD_012','JM_022','PT_011','CD_012','JM_022','ST_049','MB_021','MB_021','CB_003'
,'FG_031','PC_004'],['NL_003','AM_006','MB_021'],
['JA_012','MB_021','MB_021','MB_021'],['JU_006'],
['FG_002','FG_002','CK_055','ST_049','NM_004','CD_012','OP_002','FG_002','FG_031',
'TG_005','SP_014'],['FG_002','FG_031'],['MD_010'],
['JA_012','MB_021','NL_003','MZ_020','MB_021'],['MB_021'],['PC_004'],
['MB_021','MB_021'],['AM_006','NM_004','TB_006','MB_021']]
result = pd.DataFrame({'result': list_of_lists})
最好的方法是使用']、['delimeter拆分字符串,然后转换为df
import numpy as np
import pandas as pd
def stringToDF(s):
array = s.split('],[')
# Adjust the constructor parameters based on your string
df = pd.DataFrame(data=array,
#index=array[1:,0],
#columns=array[0,1:]
)
print(df)
return df
stringToDF(s)
祝您好运!预期输出是什么?预期输出应该是一个数据框,括号中的所有项目集都是我们理解的元素,但请向我们展示上述示例数据的预期输出是什么@AkshayNevrekar我不理解这个问题。我会尽可能清楚地解释这个问题。因为我已经将字符串格式化为数据帧,所以我想尝试将所有元素插入到数据帧中。在这种情况下,元素与
[CD_012'、'JM_022'、'PT_011'、'CD_012'、'JM_022'、'ST_049'、'MB_021'、'MB_021'、'CB_003'、'FG_031'、'PC_004']、[NL_003'、'AM_006'、'MB_021']
。当我尝试这样做时,数据只插入到数据帧中的一条记录中。我尝试了这种方法,但它留下了一个类型为float的数组:1.40819e-76 5.59823e+25 1.57287e+131 6.6563e-120 5.22844e-76
我将其更改为指定字符串作为数据类型。现在尝试一下,但我得到了错误ValueError:zero valued itemsize
当将字符串转换为数组时,数组的预期形状是什么?比如1x2?如果这有意义的话,我想它应该是1x(数组中元素的数量)。很抱歉描述不好,但我对python还是比较陌生。在我的情况下,变量列表的类型是string。这就是问题所在。