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

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

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

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

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

pandas

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

Q&A

解決済

2回答

1688閲覧

列の空白をループ処理以外で埋めたい

t-watanabecmdb

総合スコア15

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

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

pandas

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

0グッド

1クリップ

投稿2019/02/07 08:11

以下のdataframeについて、列の空欄を埋めたいのですが
ループ以外の処理方法は有りますでしょうか。

このdataframeの列3を

列1列2列3
01aaa
12
23
31bbb
42
53
64
71ccc
82

以下の様に埋めたいです。

列1列2列3
01aaa
12aaa
23aaa
31bbb
42bbb
53bbb
64bbb
71ccc
82ccc

大量の行を処理する場合にループ処理だと時間がかかってしまい
効率的な処理方法が存在するのでは無いかと思ったのですが
見つけることが出来ませんでした。
良い方法ご存じの方、何卒ご教示のほどよろしくお願い致します。

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

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

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

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

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

guest

回答2

0

ベストアンサー

以下のみでできると思いますがいかがでしょうか。

python

1df = df.fillna(method='ffill')

投稿2019/02/07 08:48

moonphase

総合スコア6621

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

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

0

以下でどうでしょうか

Python

1import pandas as pd 2import numpy as np 3 4df = pd.DataFrame({'col':['aaa','','','bbb','']}) 5 6df.loc[df['col'] == '','col'] = np.nan # 空文字列をNaNに 7df['col'] = df['col'].fillna(method='ffill') # NaNを前の値で埋める 8print(df) 9""" 10 col 110 aaa 121 aaa 132 aaa 143 bbb 154 bbb 16"""

投稿2019/02/07 08:21

can110

総合スコア38262

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

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

t-watanabecmdb

2019/02/07 08:59

ありがとう御座います。 解決する事が出来ました! より簡潔な記述をベストアンサーにさせていただきいました。 can110様の書き方も大変参考になりました。 ありがとう御座いました。
can110

2019/02/07 09:03

回答ソースに示したデータのように、NaNではなく空文字である場合は df = df.fillna(method='ffill') だと置き換わらないはずなのですが… いずれにせよ解決してよかったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問