Python / Jupyter Notebook:将包含多组数据的一个文本文件解析为一个 pandas 数据帧
Python / Jupyter Notebook: Parsing one text file with multiple sets of data into a pandas dataframe
我是一个相当新的 Python 用户,一直在使用 pandas 和 matplotlib 为我的研究做一些数据分析。特别是,我有一个数据文件,其中包含 3 组数据:2 个列向量和一个数组(参见 link here to google drive for a simple 3x3 sample of the same format:Sample data。最后,我需要将其绘制为二维热图,列向量指定 x 和 y 轴,数组填充我的热点。
我可以使用 pandas.read_csv() 和 skiprows 对一个文件执行此操作,但每个向量和数组的维度在我拥有的所有模拟中都不同 运行。因此,我必须为每个不同的文件找到每组数据的开始和结束。我拥有的最大文件是 (229, 1), (229, 1), (229, 229).
我的问题是:有没有一种方法可以根据我的输出文件所具有的格式化方法来指定每组数据的开始和结束?这可以在 pandas 数据帧或数组中完成。我更喜欢数据帧只是为了在绘图之前便于执行计算。
如有任何帮助,我们将不胜感激!
有很多方法可以做到这一点,我认为都是关于数据预处理或清理。
这里有一些提示:
- 你的1个文件中的3个数据集被'\n\n'(两个连续的\n)分割,你可以
open()
它,然后.read()
所有内容,然后.split('\n\n')
它先。
- 对于每个拆分数据集,第一行并不重要(或者只有一些名称或(行,列)信息),如果它们有某种排序规则,您可以简单地跳过它(也许
.split('\n')[1:]
).
- 对于每个拆分数据集,其他行是数据内容,你可以将它传递给
pd._read_csv
或类似的东西。
希望这些提示可以帮助到您。
我是一个相当新的 Python 用户,一直在使用 pandas 和 matplotlib 为我的研究做一些数据分析。特别是,我有一个数据文件,其中包含 3 组数据:2 个列向量和一个数组(参见 link here to google drive for a simple 3x3 sample of the same format:Sample data。最后,我需要将其绘制为二维热图,列向量指定 x 和 y 轴,数组填充我的热点。
我可以使用 pandas.read_csv() 和 skiprows 对一个文件执行此操作,但每个向量和数组的维度在我拥有的所有模拟中都不同 运行。因此,我必须为每个不同的文件找到每组数据的开始和结束。我拥有的最大文件是 (229, 1), (229, 1), (229, 229).
我的问题是:有没有一种方法可以根据我的输出文件所具有的格式化方法来指定每组数据的开始和结束?这可以在 pandas 数据帧或数组中完成。我更喜欢数据帧只是为了在绘图之前便于执行计算。
如有任何帮助,我们将不胜感激!
有很多方法可以做到这一点,我认为都是关于数据预处理或清理。
这里有一些提示:
- 你的1个文件中的3个数据集被'\n\n'(两个连续的\n)分割,你可以
open()
它,然后.read()
所有内容,然后.split('\n\n')
它先。 - 对于每个拆分数据集,第一行并不重要(或者只有一些名称或(行,列)信息),如果它们有某种排序规则,您可以简单地跳过它(也许
.split('\n')[1:]
). - 对于每个拆分数据集,其他行是数据内容,你可以将它传递给
pd._read_csv
或类似的东西。
希望这些提示可以帮助到您。