【问题标题】:Iterate over pandas dataframe rows as pure text以纯文本形式迭代 pandas 数据框行
【发布时间】:2017-07-24 08:38:16
【问题描述】:

我想逐行读取数据框(包含推文)以分析文本。

import csv
import pandas as pd

df = pd.read_csv('tweets2.csv')
df.head()

for row in df.iterrows():
    print (row)

我写的这段代码不能完成这项工作,因为“行”还包括索引。相反,我想要简单的文本,我将进一步处理。

【问题讨论】:

    标签: python loops dataframe text row


    【解决方案1】:

    你可以使用df.values:

    for row in df.values:
        print(row)
    

    例子:

    df = pd.DataFrame({'Col1': [1, 2, 3, 4, 5], 'Col2' : ['a', 'b', 'c', 'd', 'e']})
    
    print(df)
    
       Col1 Col2
    0     1    a
    1     2    b
    2     3    c
    3     4    d
    4     5    e
    
    for row in df.values:
        print(row)
    
    [1 'a']
    [2 'b']
    [3 'c']
    [4 'd']
    [5 'e']
    

    【讨论】:

    • 谢谢,它成功了!
    【解决方案2】:

    iterrows yields (index, Series) pairs

    所以你可以在 for 循环中解压它们:

    for i, row in df.iterrows():
        print(row)
    

    如果您不使用i,则应将其更改为_

    使用iterrows,每个row 是一个Series。如@cᴏʟᴅsᴘᴇᴇᴅ 所示,另一种方法是使用values

    for row in df.values:
        print(row)
    

    使用此方法,每个 row 都是一个 numpy 数组(因此会丢失标签)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      • 2013-12-31
      • 2011-04-02
      • 1970-01-01
      • 2022-09-22
      • 2017-01-04
      • 2019-01-14
      相关资源
      最近更新 更多