こんにちは。現在、次のコードを使用してPythonで空のデータフレームを作成しようとしています。
for i in range (len('bus0')):
empty_df = pd.DataFrame(np.nan, index=[i], columns=['bus0', 'bus1'])
print(empty_df)
しかし、データフレーム内の各インデックスの列ヘッダーbus0とbus1を再出力する出力(以下)を取得しています。
bus0 bus1
0 NaN NaN
bus0 bus1
1 NaN NaN
bus0 bus1
2 NaN NaN
bus0 bus1
3 NaN NaN
インデックスごとに列ヘッダーが繰り返し表示されるのではなく、上部に1回だけ表示されるようにします。どうすればこれを達成できますか?
いくつかのことが起こっています。forループを通過するたびに、データフレームの再割り当てと再印刷の両方を行います。
私が何を意味するかを理解するために、次のコード(forループからprintステートメントを取り出すだけ)は、データフレームに割り当てられた最後のデータのみを出力します。
for i in range (len('bus0')):
empty_df = pd.DataFrame(np.nan, index=[i], columns=['bus0', 'bus1'])
# print(empty_df)
'''
bus0 bus1
3 NaN NaN
'''
データフレーム全体を再割り当てする代わりに、forループの前に宣言し、.ilocを使用してforループの各行を追加します。.ilocを使用して、forループを繰り返しながら、さまざまな行にさまざまな値を割り当てることもできます。
import pandas as pd
import numpy as np
empty_df = pd.DataFrame(columns=['bus0', 'bus1'])
for i in range (len('bus0')):
empty_df.loc[i] = np.nan
# print(empty_df)
'''
bus0 bus1
0 NaN NaN
1 NaN NaN
2 NaN NaN
3 NaN NaN
'''
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加