質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

1回答

6233閲覧

[Python]pandasで行数の異なるDataFrameの連結について

zeze

総合スコア27

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2019/04/22 03:14

編集2019/04/22 03:15

前提・実現したいこと

前回の質問の続きとなります。⇒前回
以下のような整形されたDataFrame(以下df1とする)があるとします。

numbertag
01m
12m
22m
32m
43m

そして、numberの数分異なる以下のようなDataFrame(以下df2,df3とする)があるとします。(この場合は0~4なので5種類)
number:0

xyz
1.01.01.0
2.02.02.0
3.03.03.0
4.04.04.0
5.05.05.0
6.06.06.0

number:1

xyz
1.51.51.5
2.52.52.5
3.53.53.5
4.54.54.5
5.55.55.5
6.56.56.5


やりたいことは、df1の行ごとに対応するnumberのDataFrameに縦連結し、行数分同じ値で埋めたいです。
image

xyznumbertag
1.01.01.001m
2.02.02.001m
3.03.03.001m
4.04.04.001m
5.05.05.001m
6.06.06.001m
xyznumbertag
1.51.51.512m
2.52.52.512m
3.53.53.512m
4.54.54.512m
5.55.55.512m
6.56.56.512m

条件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)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

fillna()で穴埋めする方法が有りますので試してみて下さい。

0で穴埋め置換する場合は

python

1df.fillna(0)

になります。

投稿2019/04/22 03:45

編集2019/04/22 04:03
atsunofu

総合スコア59

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zeze

2019/04/22 04:05

fillna()メソッドで出来ました >>> df = pd.concat([df2, df1[:1]], axis=1).fillna(method='ffill') ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問