来自文本文件的大量数据的Python DataFrame数据分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自文本文件的大量数据的Python DataFrame数据分析相关的知识,希望对你有一定的参考价值。

我有以下代码:

datadicts = [ ]
with open("input.txt") as f:
    for line in f:
        datadicts.append({'col1': line[':'], 'col2': line[':'], 'col3': line[':'], 'col4': line[':']})

df = pd.DataFrame(datadicts)
df = df.drop([0])
print(df)

我正在使用文本文件(未格式化)从中提取数据块。打开文本文件后,它看起来像这样,只是比例更大:

00 2381    1.3 3.4 1.8 265879 Name 
34 7879    7.6 4.2 2.1 254789 Name 
45 65824   2.3 3.4 1.8 265879 Name 
58 3450    1.3 3.4 1.8 183713 Name 
69 37495   1.3 3.4 1.8 137632 Name 
73 458913  1.3 3.4 1.8 138024 Name 

这是我在处理此数据时遇到的麻烦:

  1. 我只需要第二,第三,第六和第七列数据。关于这一点的问题,我相信我已经通过阅读上面的代码并通过创建带有必要列的数据框来解决上面的代码。如果有人有更好的方法,我愿意提出建议。
  2. 我需要跳过第一行数据。这是开放功能,它没有skiprows属性,因此,当我删除第一行时,我也会丢失从0开始的索引。这有什么办法吗?
  3. 我需要得到的数据框看起来像一个干净的数据框。截至目前,它看起来像这样:
Col1   Col2   Col3 Col4
2381    3.4 265879 Name 
7879    4.2 254789 Name 
65824   3.4 265879 Name 
3450    3.4 183713 Name 
37495   3.4 137632 Name 
458913  3.4 138024 Name 

所有内容在该列下均右对齐,看起来很奇怪。任何想法如何解决这个问题?

  1. 我还需要能够对数据列进行统计分析,并能够找到具有最高数据和最低数据的名称,但是由于某些原因,我总是会出错,因为我认为,即使尽管我已将所有数据设置为数据框,但数据框内的值将作为对象而不是整数,字符串,浮点数等读取。

因此,如果无法使用Python函数分析我的数据,有谁知道我如何解决此问题以使数据能够正确运行?

任何帮助将不胜感激。我希望我已经明确列出了所有需求。我是Python的新手,我不确定是否使用了所有适当的术语。

答案

(当前正在编辑答案)

您可以使用此:

keep = ['col1', 'col3', 'col5', 'col6']
df = pd.read_csv('txt2pd.txt', 
                 sep='s+', 
                 names=['col0', 'col1', 'col2', 'col3', 'col4', 'col5', 'col6'], 
                 skiprows=0)
df = df[keep]

输出

     col1  col3    col5  col6
0    2381   3.4  265879  Name
1    7879   4.2  254789  Name
2   65824   3.4  265879  Name
3    3450   3.4  183713  Name
4   37495   3.4  137632  Name
5  458913   3.4  138024  Name

以上是关于来自文本文件的大量数据的Python DataFrame数据分析的主要内容,如果未能解决你的问题,请参考以下文章

如何用熊猫解析大量txt文件并以某种方式了解表格的每个原始文件来自哪个文件[重复]

来自文本文件的矩阵输入(python 3)

如何将火花数据输出到具有单独列的 csv 文件?

检查 Oracle DB .shellscript 作业中的大量记录超时

将变量分配给python文本文件中的数据集

如何使用python将大量数据导出到Excel中的小技巧