私はIDコードでパネルのデータフレームをマージしようとしており、データフレームに「IDコード」でソート処理を行っています。ループを使用してPythonでパネルデータをマージする
私のデータ変数名は、wave68、wave69 ....、wave71です。
全体的に、私は2つの問題を抱えて:
まず、私は、ループを使用してデータフレームをソートしたいが、私は、すなわち
wave+i
、ループファイル名を割り当てる方法がわかりませんか?第2に、データフレームを正しくマージするループアルゴリズムを作成する方法がわかりません。
最終的な結果は、幅広い形式のパネルデータです。「idcode」によってwave68,69,70でソートされています。ループを使用しています。複数のDFS間で合併のために
import pandas as pd
import numpy as np
wave68 = pd.read_csv('panel_data/wave68.csv')
wave69 = pd.read_csv('panel_data/wave69.csv')
wave70 = pd.read_csv('panel_data/wave70.csv')
wave71 = pd.read_csv('panel_data/wave71.csv')
df = [wave68,wave69,wave70,wave71]
def my_sorter(file_name,var):
for i in file_name:
file_name[i].sort_values(by=[var])
wave68 = wave68.sort_values(by=['idcode'])
wave69 = wave69.sort_values(by=['idcode'])
wave70 = wave70.sort_values(by=['idcode'])
merged = pd.merge(wave68, wave69, on='idcode')
merged = pd.merge(merged, wave70, on='idcode')
merged = pd.merge(merged, wave71, on='idcode')
merged.head(20)
ありがとうございました。私が非常に長いdfListをwave68、...、wave150のようにしたいときは、何らかの方法がありますか? –
素晴らしい!喜んで助けてください。あなたのcsv importループの間、各dfを後ではなく繰り返してリストに追加してください。実際には、地球環境の氾濫を避けるために、dfsを別々に保存しないでください。 – Parfait