1つのデータフレーム(辞書として使用)を使用して、メインデータフレーム(Python、Pandas)に入力します

アリエル・ネボ

「ケース」(5000000行×5列)と呼ばれる中央のデータフレームと、中央のデータフレーム(300行×6列)に関連する一種の辞書である「関連情報」と呼ばれるセカンダリデータフレームがあります。「Verdict_type」という共通の列に基づいて中央のDataFrameに入力しようとしています。また、値がセカンダリDataFrameに表示されない場合は、追加されるすべての行に「not_relevant」と入力されます。私はいろいろな方向を使ったが成功しなかった。良い方向性を知りたいです。

DataFrames

pguardati
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"])

入力:
df_cases <-ここで「id」とマークされたインデックスに注意してください
df_relevant_info

# 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        |
+----+------+----------------+----------------+--------------+

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ