从R转到Python,Python等价于数据帧是什么?

2024-04-27 14:29:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我熟悉R数据保持器,比如向量、数据帧等,但是需要做一些文本分析,而且python似乎有一些很好的设置可以这样做。我的问题是在哪里可以找到python如何保存数据的解释。

具体来说,我在一个制表符分隔的文件中有一个数据集,其中文本在第3列,而我需要的数据的评分在第4列。

id1            id2            text                             score
123            889     "This is the text I need to read..."      88
234            778     "This is the text I need to read..."      78
345            667     "This is the text I need to read..."      91

在R中,我只需将它加载到名为df1的数据帧中,当我想调用一个列时,我会使用df1$text或df1[,3],如果我想要一个特定的单元格,我可以使用df1[1,3]

我正在了解如何将数据读入python,而不是如何处理类似于表的结构。

对于一个python新手,您建议如何处理这个问题?


Tags: 文件theto数据text文本readis
3条回答

我不确定这是否能很好地转换成我从未使用过的“R”,但在Python中,我将如何处理它:

lines = list()
with open('data.txt','r') as f:
  for line in f:
      lines.append(line.split())

它将读取python列表中的所有内容。列表是基于零的。要从第二行获取文本列,请执行以下操作:

print lines[1][2]

那一行的分数是:

print lines[1][3]

看看pandas库中的DataFrame对象。

Ullrich先生使用pandas库的答案是最接近R数据帧的方法。但是,如果需要,您可以使用numpy array获得非常相似的功能,数据类型设置为object。新版本的numpy有类似于a的data.framefield name capabilities,它的索引实际上比R的索引更强大,它包含对象的能力远远超出R的能力。

我同时使用R和numpy,这取决于手头的任务。使用公式和内置的统计数据,R更好。Python代码更易于维护,也更容易连接到其他系统。

已编辑:添加了注意,numpy现在具有字段名功能

相关问题 更多 >