<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 pandasのデータフレーム
Step1:  ２次元の array を DataFrame に変換する例です。
Step2:  columns オプションで、各列の column 名を指定します。
Step3:  Series オブジェクトから DataFrame を作成する例です。
Step4:  各列の column 名と対応する Series オブジェクトのディクショナリを与えて、DataFrame を生成します。
Step5:  Series オブジェクトの代わりに、リストから DataFrame を作成する例です。
Step6:  空の DataFrame に行を追加する例です。
はじめに、column 名だけを指定した DataFrame を作成します。
Step7:  対応するデータを Series オブジェクトとして用意します。この際、index オプションで column 名に対応する名前を付けておきます。
Step8:  用意した DataFrame の append メソッドで、Series オブジェクトを追加します。
Step9:  2個のサイコロを 1000 回振った結果をシュミレーションする例です。
Step10:  DataFrameのdescribeメソッドで、記法的な統計値を確認することができます。
Step11:  DataFrame の append メソッドで、2つの DataFrame を結合する例です。
Step12:  ignore_index=True を指定すると、index は通し番号になるように再割当てが行われます。
Step13:  DataFrame に列を追加する例です。
配列の index 記法で、まだ存在しない column 名を指定すると、新しい列が用意されます。
Step14:  pd.concat 関数で複数の Series を列として結合できます。（axis=1 は列方向での結合を意味します。）
Step15:  pd.concat 関数で既存の DataFrame に Series を追加することもできます。
<ASSISTANT_TASK:>
Python Code:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from pandas import Series, DataFrame
Explanation: pandasのデータフレーム
End of explanation
from numpy.random import randint
dices = randint(1,7,(5,2))
dices
Explanation: ２次元の array を DataFrame に変換する例です。
End of explanation
diceroll = DataFrame(dices, columns=['dice1','dice2'])
diceroll
Explanation: columns オプションで、各列の column 名を指定します。
End of explanation
city = Series(['Tokyo','Osaka','Nagoya','Okinawa'], name='City')
city
temp = Series([25.0,28.2,27.3,30.9], name='Temperature')
temp
humid = Series([44,42,np.nan,62], name='Humidity')
humid
Explanation: Series オブジェクトから DataFrame を作成する例です。
End of explanation
cities = DataFrame({'City':city, 'Temperature':temp, 'Humidity':humid})
cities
Explanation: 各列の column 名と対応する Series オブジェクトのディクショナリを与えて、DataFrame を生成します。
End of explanation
data = {'City': ['Tokyo','Osaka','Nagoya','Okinawa'],
        'Temperature': [25.0,28.2,27.3,30.9],
        'Humidity': [44,42,np.nan,62]}
cities = DataFrame(data)
cities
Explanation: Series オブジェクトの代わりに、リストから DataFrame を作成する例です。
End of explanation
diceroll = DataFrame(columns=['dice1','dice2'])
diceroll
Explanation: 空の DataFrame に行を追加する例です。
はじめに、column 名だけを指定した DataFrame を作成します。
End of explanation
oneroll = Series(randint(1,7,2), index=['dice1','dice2'])
oneroll
Explanation: 対応するデータを Series オブジェクトとして用意します。この際、index オプションで column 名に対応する名前を付けておきます。
End of explanation
diceroll = diceroll.append(oneroll, ignore_index=True)
diceroll
Explanation: 用意した DataFrame の append メソッドで、Series オブジェクトを追加します。
End of explanation
diceroll = DataFrame(columns=['dice1','dice2'])
for i in range(1000):
    diceroll = diceroll.append(
        Series(randint(1,7,2), index=['dice1','dice2']),
        ignore_index = True)
diceroll[:5]
Explanation: 2個のサイコロを 1000 回振った結果をシュミレーションする例です。
End of explanation
diceroll.describe()
Explanation: DataFrameのdescribeメソッドで、記法的な統計値を確認することができます。
End of explanation
diceroll1 = DataFrame(randint(1,7,(5,2)),
                      columns=['dice1','dice2'])
diceroll1
diceroll2 = DataFrame(randint(1,7,(3,2)),
                      columns=['dice1','dice2'])
diceroll2
diceroll3 = diceroll1.append(diceroll2)
diceroll3
Explanation: DataFrame の append メソッドで、2つの DataFrame を結合する例です。
End of explanation
diceroll4 = diceroll1.append(diceroll2, ignore_index=True)
diceroll4
Explanation: ignore_index=True を指定すると、index は通し番号になるように再割当てが行われます。
End of explanation
diceroll = DataFrame()
diceroll['dice1'] = randint(1,7,5)
diceroll
diceroll['dice2'] = randint(1,7,5)
diceroll
Explanation: DataFrame に列を追加する例です。
配列の index 記法で、まだ存在しない column 名を指定すると、新しい列が用意されます。
End of explanation
dice1 = Series(randint(1,7,5),name='dice1')
dice2 = Series(randint(1,7,5),name='dice2')
diceroll = pd.concat([dice1, dice2], axis=1)
diceroll
Explanation: pd.concat 関数で複数の Series を列として結合できます。（axis=1 は列方向での結合を意味します。）
End of explanation
dice3 = Series(randint(1,7,5),name='dice3')
diceroll = pd.concat([diceroll, dice3], axis=1)
diceroll
Explanation: pd.concat 関数で既存の DataFrame に Series を追加することもできます。
End of explanation
<END_TASK>