次のようなループ内に値が追加された次のリストがあります。
appended_data.append({'A': var.FIRST, 'B':VAR.SECOND})
印刷時:
appended_data[:1]
出力:
[{'A':
904 23
945 65
965 36
Name: FIRST, dtype: float64,'B': 932 54
945 66
987 45
936 90
Name: SECOND, dtype: float64}]
私がしたいのは、これを次のような pandas データフレームに変換することだけです。
keys = ['FIRST','SECOND']
data_pol=pd.DataFrame(appended_data,columns = keys)
しかし、印刷しdata_pol.head()
た後、データフレームは空ですか?
pd.DataFrame
の最初の要素を呼び出したいとしますappended_data
。あなたはリストでそれを呼び出しています。
appended_data[:1]
と同じではありませんappended_data[0]
pd.DataFrame(appended_data[0])
A B
904 23.0 NaN
936 NaN 90.0
945 65.0 66.0
965 36.0 NaN
987 NaN 45.0
シリーズの辞書のリストを考える appended_data
appended_data = [
dict(
A=pd.Series([23, 65, 36], [704, 745, 765]),
B=pd.Series([66, 45, 90], [745, 787, 736])
),
dict(
A=pd.Series([23, 65, 36], [804, 845, 865]),
B=pd.Series([66, 45, 90], [845, 887, 836])
),
dict(
A=pd.Series([23, 65, 36], [904, 945, 965]),
B=pd.Series([66, 45, 90], [945, 987, 936])
),
]
次に、使用できます pd.concat
pd.concat([pd.DataFrame(i) for i in appended_data])
A B
704 23.0 NaN
736 NaN 90.0
745 65.0 66.0
765 36.0 NaN
787 NaN 45.0
804 23.0 NaN
836 NaN 90.0
845 65.0 66.0
865 36.0 NaN
887 NaN 45.0
904 23.0 NaN
936 NaN 90.0
945 65.0 66.0
965 36.0 NaN
987 NaN 45.0
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加