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

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

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

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

置換

置換とは文字列中の特定の文字に対して、別の文字列に置き換えることを指します。

Q&A

解決済

1回答

4257閲覧

欠損値を同じ行の別の列の値で埋める方法

km0815.lj

総合スコア12

Python 3.x

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

置換

置換とは文字列中の特定の文字に対して、別の文字列に置き換えることを指します。

0グッド

1クリップ

投稿2021/11/01 09:12

Python初歩的な質問で申し訳ございませんが
dataframeの中にある列の欠損値を別の列の値で置換する方法はあるでしょうか。

replace や fillna で欠損値の値を同じ値や平均値等に変更する方法は分かるのですが
同じ行内の別の列の値に変更するのは方法がありますでしょうか。

元データ

列1列2列3列4
AAAA20211101NaNNaN
BBBB20211102NaNNaN
CCCC2021110320211130NaN
DDDD20211104NaNFFFFF

列3が欠損値の場合は列2の値に
列4が欠損値の場合は列1の値に変更する。

結果データ ↓

列1列2列3列4
AAAA2021110120211101AAAAA
BBBB2021110220211102BBBBB
CCCC2021110320211130CCCCC
DDDD2021110420211104FFFFF

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

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

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

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

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

guest

回答1

0

ベストアンサー

以下のようにfillnaでできます。

Python

1import pandas as pd 2 3df = pd.DataFrame({'c1':['ABC'], 'c2':['2021'], 'c3':[pd.np.nan], 'c4':[pd.np.nan]}) 4print(df) 5# c1 c2 c3 c4 6#0 ABC 2021 NaN NaN 7 8df['c3'] = df['c3'].fillna(df['c2']) 9df['c4'] = df['c4'].fillna(df['c1']) 10print(df) 11# c1 c2 c3 c4 12#0 ABC 2021 2021 ABC

投稿2021/11/01 09:22

can110

総合スコア38266

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

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

km0815.lj

2021/11/01 09:30

なるぼど。このように記述すれば良いのですね。 早速の回答ありがとうございます。助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問