#19 - 파이썬 기초 실습 -Random Choice
2020. 1. 30. 07:54ㆍAI & BigData/Python Basics
파이썬 기초 실습 - Random Choice¶
- 아이디 또는 문장? 이름 이 변수에 저장 되어 있을때..
- 이값중에서 랜덤으로 선택하여 출력해줍니다.
In [1]:
import pandas as pd
In [2]:
참가자_리스트 = []
for i in range(10):
참가자_리스트.append(f"2020011{i},참가자{i},좋아요")
In [3]:
참가자_리스트
Out[3]:
['20200110,참가자0,좋아요',
'20200111,참가자1,좋아요',
'20200112,참가자2,좋아요',
'20200113,참가자3,좋아요',
'20200114,참가자4,좋아요',
'20200115,참가자5,좋아요',
'20200116,참가자6,좋아요',
'20200117,참가자7,좋아요',
'20200118,참가자8,좋아요',
'20200119,참가자9,좋아요']
In [4]:
df = pd.DataFrame(data=참가자_리스트)
In [5]:
df
Out[5]:
0 | |
---|---|
0 | 20200110,참가자0,좋아요 |
1 | 20200111,참가자1,좋아요 |
2 | 20200112,참가자2,좋아요 |
3 | 20200113,참가자3,좋아요 |
4 | 20200114,참가자4,좋아요 |
5 | 20200115,참가자5,좋아요 |
6 | 20200116,참가자6,좋아요 |
7 | 20200117,참가자7,좋아요 |
8 | 20200118,참가자8,좋아요 |
9 | 20200119,참가자9,좋아요 |
In [6]:
df.to_csv('part_list.csv',encoding='ms949',columns=None,header=False)
In [7]:
entries = []
with open("part_list.csv") as f:
for line in f:
print(line)
0,"20200110,참가자0,좋아요"
1,"20200111,참가자1,좋아요"
2,"20200112,참가자2,좋아요"
3,"20200113,참가자3,좋아요"
4,"20200114,참가자4,좋아요"
5,"20200115,참가자5,좋아요"
6,"20200116,참가자6,좋아요"
7,"20200117,참가자7,좋아요"
8,"20200118,참가자8,좋아요"
9,"20200119,참가자9,좋아요"
In [8]:
entries = []
with open("part_list.csv") as f: # 판다스를 이용하면 편한것이 많이 있는데..
for line in f: # 파일을 이렇게 직접 읽으면 작업 할게 많아요..
num, timestamp, name, comment = line.split(",")
entries.append({
"timestamp":timestamp,
"name":name,
"comment":comment,
})
print(" 전체 참가자 " + str(len(entries)))
전체 참가자 10
In [9]:
for e in entries:
print(e["name"])
참가자0
참가자1
참가자2
참가자3
참가자4
참가자5
참가자6
참가자7
참가자8
참가자9
In [10]:
import random
import time
In [11]:
random.sample(population=[2,5,7,8,9], k = 3)
Out[11]:
[7, 8, 5]
In [12]:
uniq_entries = []
used_names = set()
for e in entries:
if e["name"] not in used_names:
used_names.add(e["name"])
uniq_entries.append(e)
print(len(uniq_entries))
choice = random.sample(uniq_entries, 4)
with open("choice.txt","w+") as f2:
for winner in choice:
f2.write("%s\t%s\t%s\t" % (winner["timestamp"],winner["name"],winner["comment"]))
10
In [13]:
for i, w in enumerate(choice):
time.sleep(0.5)
print("%s님, 축하드립니다!!" % i,w["name"])
0님, 축하드립니다!! 참가자4
1님, 축하드립니다!! 참가자6
2님, 축하드립니다!! 참가자5
3님, 축하드립니다!! 참가자9
In [14]:
df
Out[14]:
0 | |
---|---|
0 | 20200110,참가자0,좋아요 |
1 | 20200111,참가자1,좋아요 |
2 | 20200112,참가자2,좋아요 |
3 | 20200113,참가자3,좋아요 |
4 | 20200114,참가자4,좋아요 |
5 | 20200115,참가자5,좋아요 |
6 | 20200116,참가자6,좋아요 |
7 | 20200117,참가자7,좋아요 |
8 | 20200118,참가자8,좋아요 |
9 | 20200119,참가자9,좋아요 |
In [15]:
# data frame 에서 일부 랜덤 하게 추출할수 있음.
df.sample(4)
Out[15]:
0 | |
---|---|
5 | 20200115,참가자5,좋아요 |
2 | 20200112,참가자2,좋아요 |
3 | 20200113,참가자3,좋아요 |
6 | 20200116,참가자6,좋아요 |
In [ ]:
'AI & BigData > Python Basics' 카테고리의 다른 글
#21-파이썬 기초 실습 - 딕셔너리 Dictonary - 2 (0) | 2020.02.01 |
---|---|
#20-파이썬 기초 실습 - 딕셔너리 Dictonary-1 (0) | 2020.01.31 |
#18-파이썬 기초 실습 - 리스트(List) - 7 (0) | 2020.01.29 |
#17-파이썬 기초 실습 - 리스트(List)-6 (0) | 2020.01.28 |
#16-파이썬 기초 실습 - 리스트(List)-5 (0) | 2020.01.27 |