<jupyter_start><jupyter_text>1. pd.date_range(), pd.Timestamp()?   2. 0.5간격으로 난수 생성하는 방법   3. category형을 사용해야 하는 이유?<jupyter_code>import numpy as np
import pandas as pd
from IPython.display import display<jupyter_output><empty_output><jupyter_text>실습 1. Series 연습1. 10명의 점수를 series로 생성 (점수 범위: 0~100), 인덱스는 1번부터 순차로 부여2. 1번부터 3번까지 추출3. 평균, 최대, 최소값 확인4. 평균보다 작은 점수만 추출5. 점수가 큰순서로 정렬<jupyter_code>print("1.\n")
data=np.random.randint(0,101, size=10)
s=pd.Series(data, index=[1,2,3,4,5,6,7,8,9,10])
display("s=",s)
print("2.\n")
display("s[1:4]=",s[0:3])
print("3.\n")
print("s.mean={}\ns.max={}\ns.min={}".format(s.mean(),s.max(),s.min()))
print("4.\n")
display("s[s<s.mean()]=",s[s<s.mean()])
print("5.\n")
display("descending s=",s.sort_values(ascending=False))<jupyter_output>1.<jupyter_text>실습 2. 데이터프레임 생성 연습1) 5명의 성적 데이터 생성 (성명, 입학년도, 학점(0~4.5), 성별(M,F))  열 : Name, Adyear, grade, sex    행인덱스 : 순번   2) 인덱스, 칼럼, 값들, 데이터타입 확인  3)통계요약 확인  4)성명순으로 정렬<jupyter_code>print("1)\n")
df=pd.DataFrame({'Name':pd.Categorical(["Kim","Park","Lee","Choi","Hong"]),
               'Adyear':np.array([2017,2019,2016,2018,2015]),
               'Grade':pd.Series([3.5, 2.5, 3.0, 4.5, 4.0]),
               'Sex':pd.Categorical(["M", "F", "F", "M", "F"])})
display(df)
print("2)\n")
print("df.index=",df.index)
print("df.columns=",df.columns)
print("df.values=",df.values)
print("df.dtypes=",df.dtypes)
print("3)\n")
print("df.describe=",df.describe())
print("4)\n")
display(df.sort_values(by='Name'))<jupyter_output>1)<jupyter_text>실습 3. 데이터프레임 인덱싱 연습5명의 성적 데이터 이용   1)성명만 추출  2)입학년도와 성적만 추출  3)성명이 'kim'인 데이터만 추출  4)입학년도가 2018년도 이상만 추출  5)여성만 추출  6)여성이면서 입학년도가 2019년도만 추출7)성적이 3.5이상이거나 남성인 경우 추출<jupyter_code>print("1)\n")
display(df['Name'])
print("2)\n")
display(df.loc[:,'Adyear':'Grade'])
print("3)\n")
grouped=df.groupby('Name')
display(grouped.get_group(name='Kim'))
print("4)\n")
year=df['Adyear']>=2018
display(df[year])
print("5)\n")
grouped=df.groupby('Sex')
display(grouped.get_group(name='F'))
print("6)\n")
tyear=df['Adyear']==2019
grouped=df[tyear].groupby('Sex')
display(grouped.get_group(name='F'))
print("7)\n")
g=df['Grade']>=3.5
grouped=df[g].groupby('Sex')
display(grouped.get_group(name='M'))<jupyter_output>1)
{'fraction_non_alphanumeric': 0.23929698062190174, 'fraction_numerical': 0.05768364127985579, 'mean_word_length': 5.981132075471698, 'pattern_counts': {'":': 0, '<': 16, '<?xml version=': 0, '>': 16, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '4', 'dir': 'jupyter-structured-clean-dedup', 'id': '354215', 'license': 'CC-BY-3.0', 'n_tokens_mistral': 1255, 'n_tokens_neox': 1414, 'n_words': 167, 'path': 'pandas.ipynb', 'repo_name': 'wlgh312/DataMining', 'size': '2219'}