【问题标题】:Split data based on columns in a file to arrays python - best practices根据文件中的列将数据拆分为数组 python - 最佳实践
【发布时间】:2022-11-11 06:04:48
【问题描述】:

从 txt/csv 文件读取数据的最佳方法是什么,根据列到数组中的分隔值(无论有多少列)以及如果文件如下所示如何跳过例如第一行:

考虑 python 中的现有库。

到目前为止,我已经这样做了:

pareto_front_file = open("Pareto Front.txt")
data_pareto_front = pareto_front_file.readlines()
for pareto_front_row in data_pareto_front:
    x_pareto.append(float(pareto_front_row.split('  ')[0]))
    y_pareto.append(float(pareto_front_row.split('  ')[1]))

但是创建更复杂的东西我发现这种方式不是很有效

【问题讨论】:

  • 列由不同数量的空格(“”)分隔?
  • 这是一个例子。分隔符在所有行中都相同。
  • 可能您想看看pandas 或一些SO material 以了解如何使用它。它具有强大的内置方法来读取 csv 文件、跳过标题、添加自己的标题等。

标签: python data-science


【解决方案1】:

使用“熊猫”库(或类似的东西)

对于表格数据,最流行的库之一是Pandas。这不仅可以让您轻松读取数据,还有几乎所有类型的数据转换、过滤、可视化等您可以想象的方法。 Pandas 是最流行的 python 包之一,虽然一开始可能会让人望而生畏,但它通常比自己重新发明轮子要容易得多。 如果您熟悉 R 语言,pandas 涵盖了很多 tidyverse 功能,并且 DataFrame 类似于 R 的 data.frame。

将数据传输到 python 对象

它提供了一个read_csv 方法,如果需要,您可以在其中指定自定义分隔符。您的数据将以熊猫“DataFrame”的形式出现,这是一种专为您描述的数据类型而设计的数据类型。除其他外,它会自动识别列名,例如您在数据中的列名。

csv 示例:

df = pd.read_csv('file.csv', delimiter=',')  # choose delimiter you need
print(df.head())  # show first 5 rows
print(df.summary())  # get an overview over your data

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 2010-09-22
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多