我已经成功地从数据源中提取了一个列表。列表元素的格式如下(注意第一个数字不是索引):
0 cheese 100
1 cheddar cheese 1100
2 gorgonzola 1300
3 smoked cheese 200
等
这意味着打印时,一行包含“0 cheese 100
”,其中包含所有空格。
我想做的是解析每个条目,将其分为两个列表。我不需要第一个号码。相反,我想要的是奶酪类型和后面的数字。
例如:
cheese
cheddar cheese
gorgonzola
smoked cheese
以及:
100
1100
1300
200
最终目标是能够将这两个列表归因于pd.DataFrame中的列,这样它们就可以以各自的方式进行处理。
任何帮助都是非常感激的。
6条答案
按热度按时间icnyk63a1#
如果目标是一个 Dataframe ,为什么不只做这个而不是两个列表呢。如果您将字符串转换为序列,您可以使用
pandas.Series.str.extract()
将其拆分为所需的列:这给出了一个 Dataframe :
41ik7eoe2#
IIUC字符串是列表的元素。您可以使用
re.split
在找到两个或更多空格的位置进行拆分:输出:
pes8fvy93#
我认为以下内容可能有用:
vdzxcuhz4#
我可以建议这个简单的解决方案吗
结果:
c0vxltue5#
您可以通过使用切片来实现这一点:
查看代码注解以了解方法。基本上,您可以使用[::-1]来翻转字符串,使其更容易处理。然后逐个移除每个零件。
wfsdck306#
如果您有:
正在执行:
输出:
df=df.reset_index(drop=True)
重置它。