当前位置: 首页 > 知识库问答 >
问题:

循环遍历数据帧行[重复]

呼延沈义
2023-03-14

我是python的新手,正在学习使用dataframes和列表理解。我有以下数据帧:

df1=pd.DataFrame({'names':[[['Hans Peter'],['Harry Potter']],[['bla bla'],['some string']]]})

现在我想把每个子列表拆分成单词。对于一个列表列表,我可以使用

x=[['Hans Peter'],['Harry Potter'],['bla bla'],['some string here']]
res=[]
for list in x:
    res.append(str(list[0]).split())

但是我如何在数据帧上迭代它呢?我想我必须构建一个列表理解,然后使用apply()方法来超越.append?但我不知道怎么做。我将为单个列表构建列表理解,如下所示:

res = [str(list[0]).split for list in x]
[<function str.split(sep=None, maxsplit=-1)>,...]
 0 [['Hans','Peter],['Harry','Potter']]
 1 [['bla','bla'],['some','string']]

共有1个答案

齐俊贤
2023-03-14

首先,您需要调用split函数,否则str.split是一个对象:

''.split
<built-in method split of str object at 0x1005a3ab0>

''.split() # call with parentheses
[]

其次,您需要深入到names中的子列表。您可以先用for循环来模拟这一点:

for x in df1.names:
    for a in x:
        print(a)

['Hans Peter']
['Harry Potter']
['bla bla']
['some string']

您将仍然使用列表,因此可以使用a.pop()取出字符串,然后对pop()的结果使用str.split():

df1.names = [[a.pop().split() for a in x] for x in df1.names]

df1
                              names
0  [[Hans, Peter], [Harry, Potter]]
1      [[bla, bla], [some, string]]
 类似资料:
  • 问题内容: 我想知道是否有人可以帮助我创建一个while循环来遍历几个数据库,以便从两列的一个表中获取数据。这是我到目前为止所做的。什么都行不通,因为我不知道如何针对我从每个数据库查询的表来使select语句在每个数据库中正常工作(dbo.tbldoc) 问题答案: 我会考虑使用sp_MSForEachDB,这要容易得多… 编辑:

  • 本文向大家介绍JS循环遍历JSON数据的方法,包括了JS循环遍历JSON数据的方法的使用技巧和注意事项,需要的朋友参考一下 JSON数据如:{"options":"[{/"text/":/"王家湾/",/"value/":/"9/"},{/"text/":/"李家湾/",/"valu e/":/"10/"},{/"text/":/"邵家湾/",/"value/":/"13/"}]"} 用js可以写

  • 本文向大家介绍MongoDB数据库forEach循环遍历用法,包括了MongoDB数据库forEach循环遍历用法的使用技巧和注意事项,需要的朋友参考一下 MongoDB数据库forEach语句循环遍历功能是非常常用的一个功能。 采用foreach循环遍历,并每次循环允许执行一次回调函数。 此外,foreach循环遍历是for循环的一种扩展,对比同浏览器端的forEach用法是一致的。 示例如下:

  • 问题内容: 我正在尝试遍历以下内容 我到目前为止所得到的: 有任何想法吗? 问题答案: 在您的代码中,元素是JSON对象的数组,而不是JSON对象本身。元件,和是JSON的一部分内部对象JSON阵列。 您需要遍历数组 版画 我不知道您的代码片段来自何处。

  • 问题内容: 我从查询中得到以下结果,并在plsql块中浏览记录并向客户发送send_email。 匿名块 我想知道最好的方法是重复查询结果,而不是发送多封电子邮件,而是发送一封包含相关详细信息的电子邮件。例如,在上述情况下SMITH重复两次,所以用上面的方法将史密斯拿到两封电子邮件,而不是我想发一封电子邮件与和 我怎样才能做到这一点? 问题答案: 为此,请不要在PL / SQL的循环内进行循环-使

  • 我正在编写一个脚本,将文本文件读入一个数据框,该数据框可以包含各种列和行。然后,对数据进行一些操作,需要将所有数据汇总到一个数据框中,以输出到excel文档。 我的代码适用于单个文件,但现在我需要遍历所有文件。 这似乎应该很容易做到,但我已经尝试了我能找到的所有功能来实现这一点,但没有任何效果。 以下是基本结构: 输入/期望输出示例: 我尝试了追加、添加、合并、连接、合并,但没有一个有效。我只是使