Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中解析数据集中的特定列_Python_Parsing_Numpy_Scipy - Fatal编程技术网

在python中解析数据集中的特定列

在python中解析数据集中的特定列,python,parsing,numpy,scipy,Python,Parsing,Numpy,Scipy,我有一个包含多个列的数据集,我只对分析其中六列的数据感兴趣。它是在一个txt文件中,我想加载该文件并拉出以下列(0、1、2、4、6、7)及其标题(时间、模式、事件、xcoord、ycoord、phi)。共有十列,以下是数据的示例: 1385940076332 3 M subject_avatar -30.000000 1.000000 -59.028107 180.000000 0.000000 0.000000 1385940076336 2 M s

我有一个包含多个列的数据集,我只对分析其中六列的数据感兴趣。它是在一个txt文件中,我想加载该文件并拉出以下列(0、1、2、4、6、7)及其标题(时间、模式、事件、xcoord、ycoord、phi)。共有十列,以下是数据的示例:

1385940076332   3   M   subject_avatar  -30.000000  1.000000    -59.028107  180.000000  0.000000    0.000000
1385940076336   2   M   subject_avatar  -30.000000  1.000000    -59.028107  180.000000  0.000000    0.000000
1385940076339   3   M   subject_avatar  -30.000000  1.000000    -59.028107  180.000000  0.000000    0.000000
1385940076342   3   M   subject_avatar  -30.000000  1.000000    -59.028107  180.000000  0.000000    0.000000
1385940076346   3   M   subject_avatar  -30.000000  1.000000    -59.028107  180.000000  0.000000    0.000000
1385940076350   2   M   subject_avatar  -30.000000  1.000000    -59.028107  180.000000  0.000000    0.000000
1385940076353   3   M   subject_avatar  -30.000000  1.000000    -59.028107  180.000000  0.000000    0.000000
1385940076356   3   M   subject_avatar  -30.000000  1.000000    -59.028107  180.000000  0.000000    0.000000
当我使用下面的代码将数据解析为列时,它似乎只对数据进行计数——但我希望能够列出数据以供进一步分析。以下是我在@alko中使用的代码:

import pandas as pd
df = pd.read_csv('filtered.txt', header=None, false_values=None, sep='\s+')[[0, 1, 2, 4, 6, 7]]
df.columns = ['time', 'mode', 'event', 'xcoord', 'ycoord', 'phi']
print df  
下面是该代码返回的内容:

class 'pandas.core.frame.DataFrame'
Int64Index: 115534 entries, 0 to 115533
Data columns (total 6 columns): 
time      115534  non-null values
mode      115534  non-null values
event     115534  non-null values
xcoord    115534  non-null values
ycoord    115534  non-null values
phi       115534  non-null values
dtypes: float64(3), int64(2), object(1)
因此,我们的目标是从10个原始列中抽出这6个列,对它们进行标记并列出它们。

您可以使用“解析器:


请注意,我更正了列索引,因为您在问题中提供的列索引似乎不正确。

您必须检查分隔符。然后
str.split(delimiter)
。分隔符是每列之间的一个空格。谢谢,这很有效!我如何将这段代码应用于我的整个数据集,而不仅仅是我复制和粘贴的数据集?@Julia您应该能够提供
'/Users/Lab/Desktop/vr.txt'
而不是
StringIO
对象。如果存在,请不要忘记处理标题,如果需要,请跳过行。我更新了link to point以阅读_csv文档,您可以在那里找到详细信息。谢谢,我认为这会起作用,除了我的数据集不统一之外,有不到10列的行散布在整个数据集中,理想情况下,我想区分这些行之前的数据和之后的数据。我将提出一个单独的问题来解决这个问题。谢谢你的帮助!我编辑了我的原始问题,问我如何才能查看数据,因为它被分成了6个不同的列。我曾尝试使用“print df.values”,但这并不能提供完整的数据。@Julia不客气!对于第二个问题,您的数据帧已加载,但太大而无法打印,这就是为什么只打印信息。例如咨询
import pandas as pd
from StringIO import StringIO
s = """1385940076332   3   M   subject_avatar  -30.000000  1.000000    -59.028107  180.000000  0.000000    0.000000
1385940076336   2   M   subject_avatar  -30.000000  1.000000    -59.028107  180.000000  0.000000    0.000000
1385940076339   3   M   subject_avatar  -30.000000  1.000000    -59.028107  180.000000  0.000000    0.000000
1385940076342   3   M   subject_avatar  -30.000000  1.000000    -59.028107  180.000000  0.000000    0.000000
1385940076346   3   M   subject_avatar  -30.000000  1.000000    -59.028107  180.000000  0.000000    0.000000
1385940076350   2   M   subject_avatar  -30.000000  1.000000    -59.028107  180.000000  0.000000    0.000000
1385940076353   3   M   subject_avatar  -30.000000  1.000000    -59.028107  180.000000  0.000000    0.000000
1385940076356   3   M   subject_avatar  -30.000000  1.000000    -59.028107  180.000000  0.# 000000    0.000000"""

df = pd.read_csv(StringIO(s),header=None, sep='\s+')[[0, 2, 3, 4, 6, 7]]
df.columns = ['time', 'mode', 'event', 'xcoord', 'ycoord', 'phi']
print df
#             time mode           event  xcoord     ycoord  phi
# 0  1385940076332    M  subject_avatar     -30 -59.028107  180
# 1  1385940076336    M  subject_avatar     -30 -59.028107  180
# 2  1385940076339    M  subject_avatar     -30 -59.028107  180
# 3  1385940076342    M  subject_avatar     -30 -59.028107  180
# 4  1385940076346    M  subject_avatar     -30 -59.028107  180
# 5  1385940076350    M  subject_avatar     -30 -59.028107  180
# 6  1385940076353    M  subject_avatar     -30 -59.028107  180
# 7  1385940076356    M  subject_avatar     -30 -59.028107  180