Q05) 빨리 한 dataframe을 만들고 싶을 때, 특히 연속하는 숫자, 문자 등 여러 일련의 data를 복붙해서 df로 만들고 싶다면?
A) 👇 read_clipboard() 사용!
pd.read_clipboard()
◈ read_clipboard docu ◈
https://pandas.pydata.org/docs/reference/api/pandas.read_clipboard.html
1> 원하는 일련의 표를 Google SpreadSheet나 Excel에 만든다
![](https://blog.kakaocdn.net/dn/luCQc/btrx2fwEr3D/I8hFkdIcBOWChfl3ABNmPk/img.png)
2> Ctrl + C!
3> read_clipboard() 입력하면 끝!
df = pd.read_clipboard()
4> 완성!
→ index는 알아서 0부터 생성됨
→ dtypes 결과 data의 속성에 맞게 자동적으로 dtype을 결정해준다 (해당 예의 경우 알아서 int64형으로 배치해줌)
→ 주의) reproducible한 work에서는 재생성이 불가한 case이므로 read_clipboard()는 비추
![](https://blog.kakaocdn.net/dn/cauxLn/btrx17yKHeh/vO6Jz6IYewWtPBmyiUcNOk/img.png)
Q06) dataframe을 두 part로 쪼개고 싶은데 (여기서 랜덤으로 나누고 싶음) 정해진 분량을 가진 dataframe들로 쪼갤 수는 없을까?
A) 👇 dataframe의 sample method 사용!
◈ sample docu ◈
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.sample.html
→ random_state 설정 (for reproducibility)
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None, ignore_index=False)
len(df) #a
given_frac = #float number
df_1 = df.sample(frac= given_frac, random_state=1234)
df_2 = df.drop(df_1.index)
len(df_1) + len(df_2) #a
1> sample method에서 나누고 싶은 비율을 frac 인자에 집어넣어 df_1을 생성
2> 전체 df에서 df_1의 index 삭제, 즉 df_1 data만 뺀 나머지는 df_2
(※ 주의) index가 not unique할 경우 random하게 섞이지 않음)
- read_clipboard & sample로 두 가지 의문점 해결 👍 -
댓글