来自文本文件的大量数据的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
这是我在处理此数据时遇到的麻烦:
- 我只需要第二,第三,第六和第七列数据。关于这一点的问题,我相信我已经通过阅读上面的代码并通过创建带有必要列的数据框来解决上面的代码。如果有人有更好的方法,我愿意提出建议。
- 我需要跳过第一行数据。这是开放功能,它没有skiprows属性,因此,当我删除第一行时,我也会丢失从0开始的索引。这有什么办法吗?
- 我需要得到的数据框看起来像一个干净的数据框。截至目前,它看起来像这样:
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
所有内容在该列下均右对齐,看起来很奇怪。任何想法如何解决这个问题?
- 我还需要能够对数据列进行统计分析,并能够找到具有最高数据和最低数据的名称,但是由于某些原因,我总是会出错,因为我认为,即使尽管我已将所有数据设置为数据框,但数据框内的值将作为对象而不是整数,字符串,浮点数等读取。
因此,如果无法使用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文件并以某种方式了解表格的每个原始文件来自哪个文件[重复]