---
title: #17 分析するための列の作成
tags: 
author: [猫のタロー](https://convert.docswell.com/user/Cat_Taro)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/47ZVPRK2E3.jpg?width=480
description: データサイエンス体験動画「データサイエンス　チュートリアル　猫のタロー編」、第17回目、Section 15「分析するための列の作成」です。  Section 13で解説したOLAPキューブの分析手法を実践していくために、その前段階であるデータ作成を行います。 「Quantity」（数量）と「UnitPrice」（単価）の積から合計値の列を追加、データ型datetimeから文字列で年、年月を取り出した列の追加を解説します。  今回の動画は、それらを実現する下記のプログラムを解説します。  　㉛ データ名[“新列名”] = データ名[“列名1”] * データ名[“列名2”]  　㉜ データ名[“新列名”] = データ名[“列名”].dt.strftime(“%Y%m”)  1st STEP同様、動画のテキスト、追加情報は下記のブログを参考にしてください！  ■この動画のブログ  データサイエンス チュートリアル https://tutorial4datascience.blogspot.com/
published: September 07, 23
canonical: https://convert.docswell.com/s/Cat_Taro/ZQ82DW-2023-09-07-223750
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/47ZVPRK2E3.jpg)

1
2nd STEP 集計とグラフ描画
Section 15
分析するための列の作成
㉛ データ名[“新列名”] = データ名[“列名1”] * データ名[“列名2”]
㉜ データ名[“新列名”] = データ名[“列名”].dt.strftime(“%Y%m”)


# Page. 2

![Page Image](https://bcdn.docswell.com/page/YJ65MR267V.jpg)

2
Section 15 分析するための列の作成
１． OLAPキューブの分析手法
それでは、これからSection 13で解説したOLAPキューブの分析手法を実践していきま
しょう。ここでは、スライシングとドリルダウンを行っていきます。
Section 15は、その前段階のデータ作成です。


# Page. 3

![Page Image](https://bcdn.docswell.com/page/GJ5YZ825J4.jpg)

3
Section 15 分析するための列の作成
２．列と列の四則演算
「id_pos6_2」は、「InvoiceNo」（請求番号）ごとのデータですが、「Quantity」（数
量）と「UnitPrice」（単価）の列はありますが、 「InvoiceNo」ごとの合計金額の列が
ありません。分析を進めていくためには、合計金額の列を作成すると便利ですので、それを
作りましょう。 「Quantity」 と「UnitPrice」を掛け合わせれば、合計金額になりますね。
異なる「列1の数値」と「列2の数値」を掛け合わせた数値を格納する新しい列を作成する
には、㉛を使います。この場合、列1と列2はすべての要素が数値である必要があります。
㉛ データ名[“新列名”] = データ名[“列名1”] * データ名[“列名2”]
「*」は、掛け算ですが、もちろん、足し算「＋」、引き算「ー」、割り算「/」も使えます。


# Page. 4

![Page Image](https://bcdn.docswell.com/page/LE3598K5J5.jpg)

4
Section 15 分析するための列の作成
参考：新たな列の作成
列と列との掛け算だけでなく、列に数値を加えたり、文字列を加えることも可能です。
■列のすべての要素にある数値を加える。ただし、列は数値（整数か小数点）であること
が必要。
データ名[“新列名”] = データ名[“列名”] ＋ 1
■列のすべての要素にある文字列を加える。ただし、列は文字列であることが必要。
データ名[“新列名”] = データ名[“列名”] ＋ “_all”


# Page. 5

![Page Image](https://bcdn.docswell.com/page/8EDDGM3YEG.jpg)

5
Section 15 分析するための列の作成
３． データ型datetimeの一部を文字列に変更する
データ型datetimeは計算が可能ですので便利なのですが、集計表を作る時は長いの
で見た目がよくありません。年月日で十分です。
このような時は、カンマに続けて「dt.strftime()」を使います。()内には、「” “」で囲んで、
「書式コード」を記入します。例えば、”%Y%m”は西暦4桁と月2桁、”%d”は日2桁
をdatetimeの要素から文字列として抽出します。
他の代表的な書式コードは、次ページの「参考：書式コード」を参照してください。
「dt.strftime()」を使って、任意の書式コードで指定した文字列に変換した新しい列を
作成するには、下記のプログラムを使います。
㉜ データ名[“新列名”] = データ名[“列名”].dt.strftime(“%Y%m”)


# Page. 6

![Page Image](https://bcdn.docswell.com/page/V7PX3R42E8.jpg)

6
Section 15 分析するための列の作成
参考：書式コード
「dt.strftime()」の()内に「” ”」で囲んで文字列を指定する「書式コード」には、下記のよう
なものがあります。
書式コード
%Y
%m
%d
%H
%M
%S
%y
%l
%x
%X
%a
%A
%z
%Z
説明
西暦（4桁表記。0埋め）
月（2桁表記。0埋め）
日（2桁表記。0埋め）
時（24時間制。2桁表記。0埋め）
分（2桁表記。0埋め）
秒（2桁表記。0埋め）
西暦の下2桁（0埋め）
AM／PMを表す文字列
日付をMM/DD/YY形式にしたもの
時刻をhh:mm:ss形式にしたもの
曜日の短縮形
曜日
現在のタイムゾーンとUTC（協定世
界時）とのオフセット
現在のタイムゾーン
例
2021
11
04
17
37
28
21
PM
11/04/21
17:37:28
Thu
Thursday
+0900
JST
出典：https://atmarkit.itmedia.co.jp/ait/articles/2111/09/news015.html


# Page. 7

![Page Image](https://bcdn.docswell.com/page/2JVL4RXX7Q.jpg)

7
Section 15 分析するための列の作成
㉛ データ名[“新列名”] = データ名[“列名1”] * データ名[“列名2”]
まずは、㉛を用いて、「id_pos6_2」に 「Quantity」（数量）と「UnitPrice」（単価）を掛け
算した値を格納する列「Total」を追加します。
これは、 「InvoiceNo」（請求番号）ごとの合計金額になります。


# Page. 8

![Page Image](https://bcdn.docswell.com/page/5EGX1MVRJL.jpg)

8
Section 15 分析するための列の作成
㉜ データ名[“新列名”] = データ名[“列名”].dt.strftime(“%Y%m”)
次に、㉜を使って、年月を格納する「Month」、年を格納する「Year」という名称の列を追加しま
す。


# Page. 9

![Page Image](https://bcdn.docswell.com/page/4JQ8DR6Y7P.jpg)

9
Section 15 分析するための列の作成
⑫ データ名[[“列名”]]
見栄えよくするために、時間関係をまとめたり、金額関係をまとめるために⑫を用いて、
「id_pos7」と宣言しておきましょう。


