パンダを使用して新しいデータフレームを返すために2つのデータフレームを比較する-Python

AM_86

あなたの助けが必要です。

csvから作成された2つのデータフレームがあり、特定のフィールド/列の2つの違いとなる新しいデータフレームを返す必要があります。たとえば、df1のIDがdf2にない場合、df3は、df2にないdf1のすべての列と行を取得する必要があります。

df1列とdf2列は同一ではないことに注意してください。つまり、df1はdf2よりも多いまたは少ない列を持つことができますが、df3の列はd1の時点である必要があります。また、ID(df1から)とユーザーID(df2)の値が調整係数になり、フィールドのデータが共通の係数になりますが、実際のフィールド名は異なります。

以下の表が明確ではないため、事前にお詫び申し上げます。したがって、以下の例では、df1の最初の行がdf2にないため、df3にこの行が含まれている必要があります。完了したら、df3をcsvとして保存する必要があります。

DF1

方向ID数量会社ステータス

売る-09-32000-TLTD-拒否された

購入-12-25000-GLtd-完了

販売-15-35000-HLtd-完了

DF2

方向ユーザーID数量会社ステータス評価

購入-12-25000-GLtd-完了-良い評価

販売-15-35000-HLtd-完了-良い評価

よろしくお願いします

これまでのコード:

import pandas as pd

fileLocationDF1 = "BBG.csv"
fileLocationDF2 = "corp.csv"

createDf1 = pd.read_csv(fileLocationDF1, low_memory = False)
createDf2 = pd.read_csv(fileLocationDF2, engine='python')

役立つと思うisinメソッドを見つけましたが、問題は、「ユーザーID」列(df2)のデータフレームにスペースがあることです(csvの場合と同様)。

createDf1[createDf1.ID.isin(createDf2.columns[2].values)]

そして、私は以下のエラーが発生します

AttributeError: 'str' object has no attribute 'values'

ユーザーIDにスペースがあるため、isinメソッドで列[2]を渡しました

df2のユーザーIDがdf1のIDにない一意のセットを取得できるように、エラーとデータが読み取られない理由に対処するのを手伝ってください。

以下を参照してください-ハイライトされたものはDF2に欠けているものであり、df3でこれが欲しいです

CParserError: Error tokenizing data. C error: Buffer overflow caught - possible malformed input file.
Gerardo Reichl

私はします:

import pandas as pd

fileLocationDF1 = "BBG.csv"
fileLocationDF2 = "corp.csv"

createDf1 = pd.read_csv(fileLocationDF1, low_memory = False)
createDf2 = pd.read_csv(fileLocationDF2, engine='python')

# df3 will have createDf1 columns with ID's that are not in createDf2
# ~ means 'not' to the filter
# Acces the column via ['COLUMN NAME'] so you can put spaces into it ;)
df3 = createDf1[~createDf1['ID'].isin(createDf2['User ID'])]

これがお役に立てば幸いです。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Python、新しいデータを作成するためのデータフレームからのパンダ

分類Dev

新しいデータフレームを作成するためのパンダPythonのデータフレーム理解

分類Dev

新しいデータフレームを作成するためのデータフレームの条件-Python

分類Dev

2つの列を比較して新しいデータフレームを作成するためのPython / Pandas構文

分類Dev

pythonまたはpandasqlを使用して、形状が異なり、forループ内にある2つのパンダデータフレームを追加します

分類Dev

Pythonで2つのデータフレームを比較するための条件

分類Dev

Pythonでパンダを使用して、2つのデータフレームを持つWebページからのみ2番目のデータフレームを選択するにはどうすればよいですか?

分類Dev

Python、パンダで別のデータフレームの複数の列を使用して1つのデータフレームの行を選択する

分類Dev

Python Pandas:1つの列に沿って2つのデータフレームを比較し、別のデータフレームの両方のデータフレームの行のコンテンツを返します

分類Dev

2つのデータフレームを追加します(Pythonパンダ)

分類Dev

Pythonパンダデータフレームの欠落している行を繰り返しパターンで埋めます

分類Dev

Pythonパンダは新しい列の2つのデータフレーム出力のnew / delete / change値を比較します

分類Dev

Pythonパンダ-applyfuntionを使用し、データフレームに新しい列を作成します

分類Dev

Pythonパンダ:いくつかの列に基づいてデータフレームの行を比較し、値が最も低い行を削除します

分類Dev

Pythonパンダの2つのデータフレームから選択した列を連結する

分類Dev

Pythonを使用して2つのデータフレームを連結する

分類Dev

「最後から」分割されたパンダのサブデータフレームにpython関数を適用して新しいデータフレームを取得するにはどうすればよいですか?

分類Dev

データフレーム内の配列値を新しいデータフレームに分割する-python

分類Dev

Python 2.7を使用して、新しいデータフレームにデータを保持し、パンダで日時で並べ替えるために列でグループ化する方法

分類Dev

Python、Pandas:2つのデータフレームを比較し、組み合わせて返します

分類Dev

Pythonパンダを使用して、既存のExcelシートに新しいデータフレームを追加します

分類Dev

Pythonのループを使用してデータフレームに新しい列を作成する方法

分類Dev

データフレームパンダを使用してPythonでデータcsvを変換する方法

分類Dev

セルの新しい値をパンダデータフレーム(Python)のfloatとして設定するにはどうすればよいですか?データフレームは、ネストされたforループにあるときに整数に丸められます

分類Dev

applyを使用してPython関数からパンダデータフレームに複数の行を返すにはどうすればよいですか?

分類Dev

Pythonを使用して複数の追加値をパンダデータフレームに変換します

分類Dev

同様の行を使用して、Pythonパンダデータフレームの欠落している行を埋めます

分類Dev

パンダやPythonを使用して全体のデータフレーム内のカンマを削除する方法

分類Dev

Pandas \ Python:ペアワイズ比較の結果として新しいデータフレームを作成する

Related 関連記事

  1. 1

    Python、新しいデータを作成するためのデータフレームからのパンダ

  2. 2

    新しいデータフレームを作成するためのパンダPythonのデータフレーム理解

  3. 3

    新しいデータフレームを作成するためのデータフレームの条件-Python

  4. 4

    2つの列を比較して新しいデータフレームを作成するためのPython / Pandas構文

  5. 5

    pythonまたはpandasqlを使用して、形状が異なり、forループ内にある2つのパンダデータフレームを追加します

  6. 6

    Pythonで2つのデータフレームを比較するための条件

  7. 7

    Pythonでパンダを使用して、2つのデータフレームを持つWebページからのみ2番目のデータフレームを選択するにはどうすればよいですか?

  8. 8

    Python、パンダで別のデータフレームの複数の列を使用して1つのデータフレームの行を選択する

  9. 9

    Python Pandas:1つの列に沿って2つのデータフレームを比較し、別のデータフレームの両方のデータフレームの行のコンテンツを返します

  10. 10

    2つのデータフレームを追加します(Pythonパンダ)

  11. 11

    Pythonパンダデータフレームの欠落している行を繰り返しパターンで埋めます

  12. 12

    Pythonパンダは新しい列の2つのデータフレーム出力のnew / delete / change値を比較します

  13. 13

    Pythonパンダ-applyfuntionを使用し、データフレームに新しい列を作成します

  14. 14

    Pythonパンダ:いくつかの列に基づいてデータフレームの行を比較し、値が最も低い行を削除します

  15. 15

    Pythonパンダの2つのデータフレームから選択した列を連結する

  16. 16

    Pythonを使用して2つのデータフレームを連結する

  17. 17

    「最後から」分割されたパンダのサブデータフレームにpython関数を適用して新しいデータフレームを取得するにはどうすればよいですか?

  18. 18

    データフレーム内の配列値を新しいデータフレームに分割する-python

  19. 19

    Python 2.7を使用して、新しいデータフレームにデータを保持し、パンダで日時で並べ替えるために列でグループ化する方法

  20. 20

    Python、Pandas:2つのデータフレームを比較し、組み合わせて返します

  21. 21

    Pythonパンダを使用して、既存のExcelシートに新しいデータフレームを追加します

  22. 22

    Pythonのループを使用してデータフレームに新しい列を作成する方法

  23. 23

    データフレームパンダを使用してPythonでデータcsvを変換する方法

  24. 24

    セルの新しい値をパンダデータフレーム(Python)のfloatとして設定するにはどうすればよいですか?データフレームは、ネストされたforループにあるときに整数に丸められます

  25. 25

    applyを使用してPython関数からパンダデータフレームに複数の行を返すにはどうすればよいですか?

  26. 26

    Pythonを使用して複数の追加値をパンダデータフレームに変換します

  27. 27

    同様の行を使用して、Pythonパンダデータフレームの欠落している行を埋めます

  28. 28

    パンダやPythonを使用して全体のデータフレーム内のカンマを削除する方法

  29. 29

    Pandas \ Python:ペアワイズ比較の結果として新しいデータフレームを作成する

ホットタグ

アーカイブ