【问题标题】:Merge Numpy Arrays by Two ID's通过两个 ID 合并 Numpy 数组
【发布时间】:2021-12-27 06:17:43
【问题描述】:

所以我正在尝试使用 Python 来合并两个 csv 文件。我正在将它们读入 Numpy 数组。这是棒球数据,但我有两个单独的表格。一个有年份,球员姓名,薪水。另一个有年份、球员姓名、击球率、RBI 等......我想通过年份和球员姓名合并这两个 numpy 数组。我需要在行中两者都相同,因为玩家可以玩多年,但我想要特定玩家在特定年份的统计数据。

例如,假设我在一个数组中有 [1985, 'John Doe', $5m]。如果我有 [1985, 'John Doe', 0.645, 23, ...] 那么这些行将合并(不重复年份和名称)。但是,如果它是 1985 年以外的任何年份或 John Doe 以外的任何名称,那么它将不匹配

【问题讨论】:

  • 为什么不使用 pandas 数据框?
  • 您可以使用 pandas DataFrames 并使用 join 功能。
  • 如果您真的想要numpy 解决方案,您需要告诉我们您加载的阵列。特别是shape 和dtype。也就是说,这听起来更像是一个pandas 的问题。

标签: python arrays numpy merge data-mining


【解决方案1】:

不提供数据,只能给出一个通用的解决方案。

由于它们是 csv 文件,请使用 pandas 将它们读入并进行连接/合并

import pandas as pd

df_salary = pd.read_csv('salary.csv')
df_stats = pd.read_csv('stats.csv')

columns_to_merge_on = ['Player Name', 'Year']

df = pd.merge(df_salary, df_stats, how='outer', on=columns_to_merge_on)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    相关资源
    最近更新 更多