将字符串拆分附加到 Pandas DataFrame [关闭]

Posted

技术标签:

【中文标题】将字符串拆分附加到 Pandas DataFrame [关闭]【英文标题】:Append String Split to Pandas DataFrame [closed] 【发布时间】:2013-06-01 16:41:09 【问题描述】:

我正在尝试将字符串中的一些单词附加到 Pandas Dataframe 中,但经过几次尝试后,我似乎无法成功。

到目前为止我的代码:

str = "I am an avid user of Pandas"
str_split = str.split()
panda_frame = pandas.DataFrame(columns=["First","Second","Third","Fourth"])

现在我只想将 "I","am","an","avid" 添加到 pandas 数据框。

【问题讨论】:

为什么?这似乎是一件随机的事情......(仅使用前四个项目) 这只是一个示例,是的,还有更多列要添加并递归读取许多行。 输入是什么,一个文本文件?它看起来怎样?等等…… 在此处发布时,您需要显示实际的输入文件及其外观,因为从您的 cmets 看来,我的方法似乎无法解决这个问题,但我的方法完美地回答了您的问题你说的 我想瑞恩,我们不是来投反对票的,只是因为问题中的词少了一些。关于“实际输入”,奇怪的请求,站点管理员总是要求副本而不是实际。 【参考方案1】:

如果是 csv,您可以像这样使用 pandas read_csv

import pandas
my_file = 'example.csv'
df = pandas.read_csv(my_file)

如果你因为一些奇怪的原因不能这样做,你需要使用 pandas concat 合并单个数据帧:

假设strings 是一个字符串列表,类似于您给出的示例

count = 0
dfs = []
for my_str in strings:
    str_split = my_str.split()
    data = dict(zip(cols,str_split))
    panda_frame = pandas.DataFrame(data,index=[count],columns = cols)
    dfs.append(panda_frame)
    count += 1
df = pandas.concat(dfs)

【讨论】:

ValueError: If use all scalar values, must pass index..... 运行最后一行后发现,以及如何将下一句添加到同一帧 @LonelySoul “下一句同框”……嗯?请你能举一个更好的例子来说明你想要什么。 (我们真的不介意读者......) 我在 5 分钟前对其进行了编辑,因此没有发生这种情况...再试一次,它会起作用,它对我有用 @Andy Hayden ...当然。所以有一个包含 200 多行 facebook cmets 的文本文件,在 csv 中。它们基本上由空格和逗号分隔,但没有模式。我正在尝试构建一个框架,将在其中发送 fb cmets 的不同属性。这是noit json,否则工作完成了一半。 @LonelySoul 解释说这可能是一个更好的问题......给出 csv 的前几行(或一些假装的)。 :)

以上是关于将字符串拆分附加到 Pandas DataFrame [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Pandas 按唯一列值拆分数据框

将不同类型的 CSV 字符串加载到 Pandas 数据框中,拆分列,解析日期

预先将正则表达式模式附加到拆分并将案例类映射到拆分

将 pandas 中的一个单元格拆分为多行

pandas一些基本操作(DataFram和Series)_3

pandas一些基本操作(DataFram和Series)_4