<jupyter_start><jupyter_text>その他のデータフレーム操作<jupyter_code>import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from pandas import Series, DataFrame<jupyter_output><empty_output><jupyter_text>DataFrame を array に変換する例です。<jupyter_code>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
cities.values<jupyter_output><empty_output><jupyter_text>Series を array に変換する例です。<jupyter_code>cities['City'].values<jupyter_output><empty_output><jupyter_text>トランプのカードを集めた DataFrame を定義して、カードのシャッフルを行う例です。<jupyter_code>face = ['king', 'queen', 'jack', 'ten', 'nine', 'eight',
        'seven', 'six', 'five', 'four', 'three', 'two', 'ace']

suit = ['spades', 'clubs', 'diamonds', 'hearts']

value = range(13, 0, -1)

deck = DataFrame({'face': np.tile(face, 4),
                  'suit': np.repeat(suit, 13),
                  'value': np.tile(value, 4)})

deck.head()<jupyter_output><empty_output><jupyter_text>permutation 関数で、index の順番をランダムにシャッフルします。<jupyter_code>np.random.permutation(deck.index)<jupyter_output><empty_output><jupyter_text>ランダムにシャッフルした index を用いて行を並べ替えます。<jupyter_code>deck = deck.reindex(np.random.permutation(deck.index))
deck.head()<jupyter_output><empty_output><jupyter_text>reset_index メソッドで index に通し番号を付け直します。<jupyter_code>deck = deck.reset_index(drop=True)
deck.head()<jupyter_output><empty_output><jupyter_text>DataFrame のグラフ描画機能を使用する例です。 3回分のランダムウォークのデータを並べた DataFrame を作成します。<jupyter_code>result = DataFrame()
for c in range(3):
    y = 0
    t = []
    for delta in np.random.normal(loc=0.0, scale=1.0, size=100):
        y += delta
        t.append(y)
    result['Trial %d' % c] = t

result.head()<jupyter_output><empty_output><jupyter_text>DataFrame の polot メソッドでグラフを描きます。<jupyter_code>result.plot(title='Random walk')<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.15472481827622014, 'fraction_numerical': 0.018691588785046728, 'mean_word_length': 5.931654676258993, 'pattern_counts': {'":': 0, '<': 37, '<?xml version=': 0, '>': 37, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '9', 'dir': 'jupyter-structured-clean-dedup', 'id': '13259', 'license': 'Apache-2.0', 'n_tokens_mistral': 896, 'n_tokens_neox': 858, 'n_words': 118, 'path': '07-pandas DataFrame-03.ipynb', 'repo_name': 'enakai00/numpy-pandas-tutorial', 'size': '1926'}