使用一个数据框(用作字典)填充主数据框(Python、Pandas)

使用一个数据框(用作字典)填充主数据框(Python、Pandas),python,pandas,Python,Pandas,我有一个称为“cases”(5000000行×5列)的中央数据框和一个称为“relevant information”的辅助数据框,这是一种与中央数据框(300行×6列)相关的字典。 我试图根据一个名为“Verdiction_type”的公共列填充中央数据框。 并且,如果该值未出现在辅助数据框中,则在将添加的所有行中填写“不相关”。 我用了各种各样的方法,但都没有成功。 我想知道一个好的方向 输入: 请提供代码e数据。若要清除此问题,是否要将数据从主(“案例”)数据框移动到“相关信息”数据框或

我有一个称为“cases”(5000000行×5列)的中央数据框和一个称为“relevant information”的辅助数据框,这是一种与中央数据框(300行×6列)相关的字典。 我试图根据一个名为“Verdiction_type”的公共列填充中央数据框。 并且,如果该值未出现在辅助数据框中,则在将添加的所有行中填写“不相关”。 我用了各种各样的方法,但都没有成功。 我想知道一个好的方向

输入:

请提供代码e数据。若要清除此问题,是否要将数据从主(“案例”)数据框移动到“相关信息”数据框或“不相关”数据框,基于公共列“裁决类型”?我想使用“数据框字典”(辅助数据框)向主数据框添加信息。。谢谢!!它起作用了。。我的错误是:(how=“outer”)
import pandas as pd

# this is a mockup of the raw data
cases = [
    [1, "1", "v1"],
    [2, "2", "v2"],
    [3, "3", "v3"]
]

relevant_info = [
    ["v1", "info1"],
    ["v3", "info3"]
]

# these are the data from screenshot
df_cases = pd.DataFrame(cases, columns=["id", "verdict_name", "verdict_type"]).set_index("id")
df_relevant_info = pd.DataFrame(relevant_info, columns=["verdict_type", "features"])
# first, flatten the index of the cases ( this is probably what you were missing )
df_cases = df_cases.reset_index()
# then, merge the two sets on the verdict_type
df_merge = pd.merge(df_cases, df_relevant_info, on="verdict_type", how="outer")
# finally, mark missing values as non relevant
df_merge["features"] = df_merge["features"].fillna(value="not_relevant")
merged set:
+----+------+----------------+----------------+--------------+
|    |   id |   verdict_name | verdict_type   | features     |
|----+------+----------------+----------------+--------------|
|  0 |    1 |              1 | v1             | info1        |
|  1 |    2 |              2 | v2             | not_relevant |
|  2 |    3 |              3 | v3             | info3        |
+----+------+----------------+----------------+--------------+