PythonのPandasで分析したいExcelファイルが、以下のように「事故状況」が2行で書かれているデータを扱いたいです。
この2行目に書かれた文章を、一つ前の「事故状況」のテキストの末尾に結合し、DataFrameを作成したいのですが、上手くやり方がわかりません。
時間 | 日付 | 名前 | 事故状況 |
---|---|---|---|
10時 | 26 | 山田たろう | 山田さんの事故状 |
NaN | NaN | NaN | 況の説明文があります。 |
11時 | 30 | 三木さだえ | 杖を忘れて歩 |
NaN | NaN | NaN | いている途中で転倒。 |
現状のコードは、名前のNaNを’-’で置き換え、
名前=='-'だったときに、事故状況の文章を一つ前の行に追記する・・・というロジックになっております。
正直、かなり回りくどいやり方になっている自覚はあるのですが、
これ以外のスマートにやる方法がわかりません。。。
どなたか、この状況で上手く2行を1行のPandasDataframeにするやり方、
わかる方いましたら、ご教示いただけますと、とても助かります。。。
file #任意のファイルパス df = pd.read_excel(file, header=2) # ループ処理回数に使う行数 df_len = len(df) # NaNのif文での判定方法がわからず、'-'で置き換え df2['名前'] = df['名前'].fillna('-') for i in range(df_len): if df2.iloc[i]['名前'] == '-': ※ここに「事故状況」の文章つなげるコード else: つづき
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/06 09:38