<jupyter_start><jupyter_text>3.4: DataFrame<jupyter_code># リスト 3.4.1　DataFrame の作成

import pandas as pd

df = pd.DataFrame(
    [[1, 10, 100], [2, 20, 200], [3, 30, 300]],
    index=["r1", "r2", "r3"],
    columns=["c1", "c2", "c3"],
)
df
# リスト 3.4.2　ラベルによるデータの選択

df.loc["r2", "c2"]
# リスト 3.4.3　すべての列を指定

df.loc["r2", :]
# リスト 3.4.4　すべての行を指定

df.loc[:, "c2"]
# リスト 3.4.5　行をリスト・列をスライスで指定して抽出

df.loc[["r1", "r3"], "c2":"c3"]
# リスト 3.4.6　位置を指定したデータの選択

df.iloc[1:3, [0, 2]]
# リスト 3.4.7　列を指定してデータを選択

df["c2"]
# リスト 3.4.8　DataFrame に対する比較演算

df > 10
# リスト 3.4.9　比較演算によるデータの抽出

df.loc[df["c2"] > 10]
# リスト 3.4.10　複数の条件を組み合わせたデータの抽出
# c1列が1より大きくかつ、c3列が300より小さいデータ

df.loc[(df["c1"] > 1) & (df["c3"] < 300)]<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.22814207650273224, 'fraction_numerical': 0.11885245901639344, 'mean_word_length': 3.9863945578231292, 'pattern_counts': {'":': 1, '<': 6, '<?xml version=': 0, '>': 8, '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': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '475552', 'license': 'MIT', 'n_tokens_mistral': 546, 'n_tokens_neox': 504, 'n_words': 77, 'path': 'notebooks/3-04.ipynb', 'repo_name': 'yohata1013/sample-code-2nd', 'size': '732'}