Python Pandasでテーブルを作成するには、複数の値を取ります

マーティン・ブヒエ

私のコードを使用すると、2つのExcelデータベースを1で結合できます。問題は、収益列のみが表示され、列のインプレッションは表示されないことです。より明確にするために、コードと例を残します。私は試してみました:

 df1 = df1.pivot(index = "Cliente", columns='Fecha', values=['Impresiones','Revenue']) 

しかし、私はそれでエラーがあります: Exception: Data must be 1-dimensional

コード:

import pandas as pd
import pandas.io.formats.excel

# Leemos ambos archivos y los cargamos en DataFrames
df1 = pd.read_excel("archivo1.xlsx")
df2 = pd.read_excel("archivo2.xlsx")

# Pivotamos ambas tablas
df1 = df1.pivot(index = "Cliente", columns='Fecha', values='Revenue')
df2 = df2.pivot(index = "Cliente", columns='Fecha', values='Revenue')

# Unimos ambos dataframes tomando la columna "Cliente" como clave
merged = pd.merge(df1, df2, right_index =True, left_index = True, how='outer')
merged.sort_index(axis=1, inplace=True)

# Creamos el xlsx de salida
pandas.io.formats.excel.header_style = None

with pd.ExcelWriter("Data.xlsx",
                    engine='xlsxwriter',
                    date_format='dd/mm/yyyy',
                    datetime_format='dd/mm/yyyy') as writer:

    merged.to_excel(writer, sheet_name='Sheet1')

archivo1:

ここに画像の説明を入力してください

archivo2:

ここに画像の説明を入力してください

結果:

ここに画像の説明を入力してください

必要:

ここに画像の説明を入力してください

テキストとしてのデータフレームは次のとおりです。

archivo1:
Fecha   Cliente Impresiones Revenue
21/12/17    Jose    12345   $989
21/12/17    Martin  3245    $10
21/12/17    Pedro   645     $879
21/12/17    Esteban 2345    $899
21/12/17    Mauro   654     $98

archivo2:
Fecha   Cliente Impresiones Revenue
20/12/17    Esteban 12345   $150
20/12/17    Martin  3245    $20
20/12/17    Pedro   645     $3000
20/12/17    Mauro   2345    $50
20/12/17    Jose    654n    $667
ジェズリール

次を使用できます。

  • 両方のdfを一緒に結合します
  • カテゴリ付きの列の形状を変更しImpresionesRevenue
  • ソートインデックス、第2レベルの子孫
  • マスクによってインデックスの最初のレベルを変更し、インデックスに設定します

df = (pd.concat([df1,df2])
        .set_index(["Cliente",'Fecha'])
        .stack()
        .unstack(1)
        .sort_index(ascending=(True, False)))

m = df.index.get_level_values(1) == 'Impresiones'
df.index = np.where(m, 'Impresiones', df.index.get_level_values(0))
print (df)
Fecha       20/12/17 21/12/17
Esteban         $150     $899
Impresiones    12345     2345
Jose            $667     $989
Impresiones     654n    12345
Martin           $20      $10
Impresiones     3245     3245
Mauro            $50      $98
Impresiones     2345      654
Pedro          $3000     $879
Impresiones      645      645

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Pythonで複数のテーブルを一緒に印刷する

分類Dev

複数の列(複数の値が含まれる場合があります)に基づいて重複を識別し、Pythonで重複が識別された場合はブール値を返します

分類Dev

2つの異なる値を取り、Pythonでキーを生成する1つの関数を作成するにはどうすればよいですか?

分類Dev

特定の行に複数の列を持つPythonでHTMLテーブルを作成する

分類Dev

Pythonが読み取り関数を複数のシステムコールに分割するのはなぜですか?

分類Dev

Python 3:複数の辞書のリストを作成するキーは同じですが、複数のリストからの値が異なります

分類Dev

PythonのDiscordでSQLiteテーブルから複数行のリストを作成するにはどうすればよいですか?

分類Dev

Python-複数のキーを使用して辞書を作成します。値は辞書でもあります

分類Dev

Pythonで複数のページにまたがるテーブルを自動的に解析するにはどうすればよいですか

分類Dev

Python:Pythonは1つのステートメントで複数のブール値をどのように実行しますか?

分類Dev

元のテーブルの値に基づいて列から値を返すことができるVLOOKUP関数がPythonにありますか?

分類Dev

Python-Rplyは複数の異なるルールを複数の異なる関数に割り当てます

分類Dev

Python C APIは、タプルを作成せずに複数の値/オブジェクトを返します

分類Dev

複数のGoogleドライブCSVファイルを読み取り、Pythonで1つに追加するにはどうすればよいですか?

分類Dev

Pythonは複数のシリアルポートを読み取ります

分類Dev

Python:pygameで複数のループを作成するためのより良い方法は何ですか?

分類Dev

Python Pyserialは、同時に複数のシリアルポートからデータを読み取ります

分類Dev

Python:pandas groupby ID、ブレーク条件が満たされるまで複数の列の値を追加します

分類Dev

Python 3.xのifステートメントで「in」または「or」を使用して、変数を複数の値と照合する必要がありますか?

分類Dev

Python Pandasでは、1つの行に複数の行を並べる方法はありますか?秩序を保つ

分類Dev

Python 3.xで数値に複数の形式を適用する方法はありますか?

分類Dev

Pythonで複数のミニバープロットのテーブルを作成する

分類Dev

Python 3.8.6で、関数ごとに一般的な名前で複数のオブジェクトを作成する方法はありますか?

分類Dev

Python-forループ内で相互に複数のifステートメントを回避する方法はありますか?

分類Dev

PythonはExcelで特定のセル値を読み取ります

分類Dev

Pythonを使用して行の値をグループ化することにより、複数の列で最大値を見つける方法は?

分類Dev

Flaskで1つの関数に複数の動的ルートを作成する| Python

分類Dev

複数の値を出力する方法、キーは1つのループでPythonを指示します "?

分類Dev

Pythonで複数行のwhileステートメント(10以上の条件)を作成するより良い方法はありますか?

Related 関連記事

  1. 1

    Pythonで複数のテーブルを一緒に印刷する

  2. 2

    複数の列(複数の値が含まれる場合があります)に基づいて重複を識別し、Pythonで重複が識別された場合はブール値を返します

  3. 3

    2つの異なる値を取り、Pythonでキーを生成する1つの関数を作成するにはどうすればよいですか?

  4. 4

    特定の行に複数の列を持つPythonでHTMLテーブルを作成する

  5. 5

    Pythonが読み取り関数を複数のシステムコールに分割するのはなぜですか?

  6. 6

    Python 3:複数の辞書のリストを作成するキーは同じですが、複数のリストからの値が異なります

  7. 7

    PythonのDiscordでSQLiteテーブルから複数行のリストを作成するにはどうすればよいですか?

  8. 8

    Python-複数のキーを使用して辞書を作成します。値は辞書でもあります

  9. 9

    Pythonで複数のページにまたがるテーブルを自動的に解析するにはどうすればよいですか

  10. 10

    Python:Pythonは1つのステートメントで複数のブール値をどのように実行しますか?

  11. 11

    元のテーブルの値に基づいて列から値を返すことができるVLOOKUP関数がPythonにありますか?

  12. 12

    Python-Rplyは複数の異なるルールを複数の異なる関数に割り当てます

  13. 13

    Python C APIは、タプルを作成せずに複数の値/オブジェクトを返します

  14. 14

    複数のGoogleドライブCSVファイルを読み取り、Pythonで1つに追加するにはどうすればよいですか?

  15. 15

    Pythonは複数のシリアルポートを読み取ります

  16. 16

    Python:pygameで複数のループを作成するためのより良い方法は何ですか?

  17. 17

    Python Pyserialは、同時に複数のシリアルポートからデータを読み取ります

  18. 18

    Python:pandas groupby ID、ブレーク条件が満たされるまで複数の列の値を追加します

  19. 19

    Python 3.xのifステートメントで「in」または「or」を使用して、変数を複数の値と照合する必要がありますか?

  20. 20

    Python Pandasでは、1つの行に複数の行を並べる方法はありますか?秩序を保つ

  21. 21

    Python 3.xで数値に複数の形式を適用する方法はありますか?

  22. 22

    Pythonで複数のミニバープロットのテーブルを作成する

  23. 23

    Python 3.8.6で、関数ごとに一般的な名前で複数のオブジェクトを作成する方法はありますか?

  24. 24

    Python-forループ内で相互に複数のifステートメントを回避する方法はありますか?

  25. 25

    PythonはExcelで特定のセル値を読み取ります

  26. 26

    Pythonを使用して行の値をグループ化することにより、複数の列で最大値を見つける方法は?

  27. 27

    Flaskで1つの関数に複数の動的ルートを作成する| Python

  28. 28

    複数の値を出力する方法、キーは1つのループでPythonを指示します "?

  29. 29

    Pythonで複数行のwhileステートメント(10以上の条件)を作成するより良い方法はありますか?

ホットタグ

アーカイブ