我从Rest API调用返回管道分隔数据:
wall/%
我从第一个“行”中提取了标题信息并将其拆分为一个列表:
data = ['Bob|37', 'Eric|40']
我想把它读成一个pandas数据帧:
column_list = ['Name','Age']
不出所料,它抱怨数据形状错误
“ValueError:传递值的形状为(1,2),索引暗示(2,2)”
在数据列表中拆分字符串以便在数据框中加载字符串的最佳方法是什么?
答案 0 :(得分:1)
试试这个:
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
答案 1 :(得分:1)
以下是另一种单线解决方案(使用.str.extract())函数:
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