【问题标题】:creating a dataframe from a variable length text string从可变长度文本字符串创建数据框
【发布时间】:2017-04-27 16:55:16
【问题描述】:

我是 numpy 和 pandas 的新手。我正在尝试将单词及其索引添加到数据框中。文本字符串可以是可变长度。

text=word_tokenize('this string can be of variable length')
df2 = pd.DataFrame({'index':np.array([]),'word':np.array([])})

for i in text:
    for i, row in df2.iterrows():
            word_val = text[i]
            index_val = text.index(i)
            df2.set_value(i,'word',word_val)
           df2.set_value(i,'index',index_val)    
print df2

【问题讨论】:

    标签: python arrays pandas numpy dataframe


    【解决方案1】:

    要从字符串的每个单词(可以是任意长度)创建一个 DataFrame,您可以直接使用

    df2 = pd.DataFrame(text, columns=['word'])
    

    您的 nltk "word_tokenize" 为您提供一个单词列表,可用于提供列数据,默认情况下 pandas 负责索引。

    【讨论】:

      【解决方案2】:

      直接将列表传入DataFrame方法即可:

      pd.DataFrame(['i', 'am', 'a', 'fellow'], columns=['word'])
           word
      0       i
      1      am
      2       a
      3  fellow
      

      我不确定您是否想将列命名为“索引”,在这种情况下,值将与 DataFrame 本身的索引相同。此外,将列命名为“索引”也不是一个好习惯,因为您将无法使用 df.column_name 语法访问它,并且您的代码可能会让其他人感到困惑。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-20
        • 1970-01-01
        • 2019-10-28
        • 2016-10-14
        • 2017-10-10
        • 1970-01-01
        • 2018-10-26
        • 1970-01-01
        相关资源
        最近更新 更多