Python_データフレームの列を置換

ゆうき( @BASEBALLY15 )です^^

データフレームの指定した列を変更したいのですが,どうすればよいか分かりません・・・

そうなんですね^^
それでは,今回は『データフレームの列を置換する方法』についてご説明します!

お願いします・・・

データフレームの列を置換してみた!

Python_データフレームの列を置換する方法

今回は,上の図のように,2列目と3列目の値を替えたいと思います.

たった1行でデータフレームの列を置換することが出来るので,ぜひ使ってみてください^^

それでは,コードを見ていきましょう⤵

ライブラリ

まずは,今回使うライブラリをご紹介します.

import pandas as pd

from pandas import DataFrame, Series

import numpy as np

#正規性のあるランダムな値を用意
from numpy.random import randn

#ランダムな値を用意
from random import random

コード

ますは,置換する前のデータフレームを用意します.

今回は,4列のデータフレームを作ります.

そして,最終的に指定した列を置換します.

置換する前のデータフレームを用意しよう(準備)

それでは,置換する前のデータフレームを作っていきましょう.

1列目⤵

#1から10までの数字を用意(内包表記)
num1 = [i for i in range(1, 11, 1)]

#表示
num1

実行結果

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

2列目⤵

#1から20まで2刻みの数字を用意
num2 = [j for j in range(1, 20, 2)]

#表示   
num2

実行結果

[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

3列目⤵

#正規分布になるランダムな数字を用意
num3 = randn(10)

#表示
num3

実行結果

array([ 0.59840685, 1.64238462, 0.39814391, 0.87122436, 2.8377039 , -1.09733489, -0.72677319, 1.36815504, 1.11262481, 0.33854676])

4列目⤵

#ランダムな数字を10個用意
num4 = [random() for i in range(10)]

#表示
num4

実行結果

[0.7638483116223036, 0.025646815220969676, 0.7462628141200512, 0.7659286293019122, 0.02325626585814211, 0.1846831214851531, 0.596524341248284, 0.6865225837521409, 0.34800295035796414, 0.35522239924742116]

データフレームを表示してみよう!(準備)

それでは,上で作った4つリストをデータフレームに変換します.

ちなみに,それぞれのカラム名を自分で決めるために,辞書型にしました.

#データフレーム化
df = DataFrame({"Num1":num1, "Num2":num2, "Num3":num3, "Num4":num4})

#表示
df
Num1Num2Num3Num4
0110.5984070.763848
1231.6423850.025647
2350.3981440.746263
3470.8712240.765929
4592.8377040.023256
5611-1.0973350.184683
6713-0.7267730.596524
78151.3681550.686523
89171.1126250.348003
910190.3385470.355222

これで,置換する前のデータフレームは完成しました^^

置換するためのデータフレームを用意しよう!(準備)

次に,置換するためのデータフレームを2つ用意します.

最終的には,ここで作ったデータフレームを表示させます.

1つ目⤵

#置換するためのリストを用意
change1 = [a for a in range(1, 30, 3)]


#データフレーム化
change1_df = DataFrame({"Change1":change1})

#表示
change1_df
Change1
01
14
27
310
413
516
619
722
825
928

2つ目⤵

change2 = [b for b in range(1, 40, 4)]

#データフレーム化
change2_df = DataFrame({"Change2":change2})

#表示
change2_df
Change2
01
15
29
313
417
521
625
729
833
937

これで,置換するための準備が出来ました.

データフレームの列を置換してみよう!(本題)

それでは,データフレームの列を置換します.

#値を置換する
df.iloc[:, 2] = change1

df.iloc[:, 3] = change2

0から数えて2つ目の列を『change1』に,

3つ目の列を『change2』に置換します.

この結果を表示してみます.

#表示
df

すると,このように,3列目と4列目を置換することが出来ました.

Num1Num2Num3Num4
01111
12345
23579
3471013
4591317
56111621
67131925
78152229
89172533
910192837

終わりに

今回は,データフレームの列を置換する方法についてご紹介しました.

最初のうちは,データフレームの扱いに戸惑うこともあると思いますが,

使っていると慣れてくるので,ぜひこのブログを参考に学習してみてください^^

それでは・・・

Q &A

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA