2017-10-08 2 views
1

10のデータベースからデータを読み込んで読み込み、データをpandasデータフレームとして保存する必要があります。データフレームを結合した後、私は空のデータフレームを持っています:パンダのDataFrameを組み合わせる

df1 = pd.DataFrame(columns={'name', 'ip'}) 

# in a loop I connect to db and read sql data and combine data 

for db in database_list: 
    db_df = pd.read_sql_query(sql, con) 
    df1 = df1.append(db_df) 
    df1 = df1.drop_duplicates(subset='name', keep='last') 

print df1 

df1は空のデータフレームです。この状況でデータフレームを結合する正しい方法は何ですか?

答えて

1

私はあなたが一つの大きなdflistに各DataFrameを追加し、最後concatすべてのことができると思います。

dfs = [] 
for db in database_list: 
    db_df = pd.read_sql_query(sql, con) 
    print db_df 
    db_df = db_df.drop_duplicates(subset='name', keep='last') 
    dfs.append(db_df) 

df1 = pd.concat(dfs, ignore_index=True) 
print df1 
+0

リストで、私は、 ' 「NoneType」オブジェクトが何の属性 「を追加」'エラー – TheNone

+0

うーむを持っていない持っています'db_df = pd.read_sql_query(sql、con)'あなたのために 'DataFrame'を返しますか?それを確認できますか? – jezrael

+0

はいそれはデータフレームです、私はドロップ重複で間違ったことをすると思います。 – TheNone

関連する問題