基于分隔符重塑字符串列表的Python
我有从Rest API调用返回的管道分隔数据:基于分隔符重塑字符串列表的Python,python,list,pandas,Python,List,Pandas,我有从Rest API调用返回的管道分隔数据: data = ['Bob|37', 'Eric|40'] 我从第一行中提取了标题信息,并将其拆分为一个列表: column_list = ['Name','Age'] 我试图将其读入熊猫数据框: pd.DataFrame(data,columns=column_list) 不出所料,它抱怨数据的形状不正确 ValueError:传递值的形状为(1,2),索引暗示为(2,2) 拆分数据列表中的字符串以将其加载到数据帧中的最佳方法是什么?尝试以下
data = ['Bob|37', 'Eric|40']
我从第一行中提取了标题信息,并将其拆分为一个列表:
column_list = ['Name','Age']
我试图将其读入熊猫数据框:
pd.DataFrame(data,columns=column_list)
不出所料,它抱怨数据的形状不正确
ValueError:传递值的形状为(1,2),索引暗示为(2,2)
拆分数据列表中的字符串以将其加载到数据帧中的最佳方法是什么?尝试以下方法:
data = ['Bob|37', 'Eric|40']
df = pd.Series(data).str.split('|', expand=True)
df.columns = ['Name', 'Age']
print df
Name Age
0 Bob 37
1 Eric 40
下面是一个备选单线性解决方案(使用)函数:
In [20]: df = pd.Series(data).str.extract(r'(?P<Name>.*?)\|(?P<Age>.*)', expand=True)
In [21]: df
Out[21]:
Name Age
0 Bob 37
1 Eric 40
[20]中的:df=pd.Series(data).str.extract(r'(?P.*)\ |(?P.*),expand=True)
In[21]:df
出[21]:
姓名年龄
0鲍勃37
1埃里克40
可能有一种更好的特定于panda的方法,但是[row.split(“|”)用于数据中的row]
是我在纯pythonThanks@Hamms中执行此操作的方法。这也很有效。