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