前提・実現したいこと
前回の質問の続きとなります。⇒前回
以下のような整形されたDataFrame(以下df1とする)があるとします。
number | tag |
---|---|
0 | 1m |
1 | 2m |
2 | 2m |
3 | 2m |
4 | 3m |
そして、numberの数分異なる以下のようなDataFrame(以下df2,df3とする)があるとします。(この場合は0~4なので5種類)
number:0
x | y | z |
---|---|---|
1.0 | 1.0 | 1.0 |
2.0 | 2.0 | 2.0 |
3.0 | 3.0 | 3.0 |
4.0 | 4.0 | 4.0 |
5.0 | 5.0 | 5.0 |
6.0 | 6.0 | 6.0 |
number:1
x | y | z |
---|---|---|
1.5 | 1.5 | 1.5 |
2.5 | 2.5 | 2.5 |
3.5 | 3.5 | 3.5 |
4.5 | 4.5 | 4.5 |
5.5 | 5.5 | 5.5 |
6.5 | 6.5 | 6.5 |
…
やりたいことは、df1の行ごとに対応するnumberのDataFrameに縦連結し、行数分同じ値で埋めたいです。
image
x | y | z | number | tag |
---|---|---|---|---|
1.0 | 1.0 | 1.0 | 0 | 1m |
2.0 | 2.0 | 2.0 | 0 | 1m |
3.0 | 3.0 | 3.0 | 0 | 1m |
4.0 | 4.0 | 4.0 | 0 | 1m |
5.0 | 5.0 | 5.0 | 0 | 1m |
6.0 | 6.0 | 6.0 | 0 | 1m |
x | y | z | number | tag |
---|---|---|---|---|
1.5 | 1.5 | 1.5 | 1 | 2m |
2.5 | 2.5 | 2.5 | 1 | 2m |
3.5 | 3.5 | 3.5 | 1 | 2m |
4.5 | 4.5 | 4.5 | 1 | 2m |
5.5 | 5.5 | 5.5 | 1 | 2m |
6.5 | 6.5 | 6.5 | 1 | 2m |
条件1: df1の行数と(df2,df3,…)の行数は異なることを前提とする
よろしくお願いいたします。
発生している問題
concatメソッドで連結した際に、行数が異なるため欠損値NaNが含まれてしまう
該当のソースコード
import pandas as pd >>> df = pd.concat([df2, df1[:1]], axis=1) >>> df x y z number tag 0 1.0 1.0 1.0 0.0 1m 1 2.0 2.0 2.0 NaN NaN 2 3.0 3.0 3.0 NaN NaN 3 4.0 4.0 4.0 NaN NaN 4 5.0 5.0 5.0 NaN NaN 5 6.0 6.0 6.0 NaN NaN
動作環境
Windows10
Python(3.6.5)
pandas(0.24.2)

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/22 04:05