1
我有格式的CSV從CSV加載的隨機樣本與熊貓
Team, Player
我想要做的就是應用過濾器的田徑隊,再取3名玩家隨機子集每隊。
因此,舉例來說,我的CSV樣子:
Man Utd, Ryan Giggs
Man Utd, Paul Scholes
Man Utd, Paul Ince
Man Utd, Danny Pugh
Liverpool, Steven Gerrard
Liverpool, Kenny Dalglish
...
我想每隊由3名隨機玩家的XLS到結束,只有在那裏是小於的情況下1或2 3例如,
Man Utd, Paul Scholes
Man Utd, Paul Ince
Man Utd, Danny Pugh
Liverpool, Steven Gerrard
Liverpool, Kenny Dalglish
我開始使用XLRD,我的原始帖子是here。
我現在正在嘗試使用熊貓,因爲我相信這將會更靈活地應對未來。
因此,在僞代碼是我想要做的是:
foreach(team in csv)
print random 3 players + team they are assigned to
我一直在尋找通過熊貓,並試圖找到這樣做的最佳方法,但我找不到類似的東西是什麼我想要這樣做(這對Google來說很難!)。這是我迄今爲止的嘗試:
import pandas as pd
from collections import defaultdict
import csv as csv
columns = defaultdict(list) # each value in each column is appended to a list
with open('C:\\Users\\ADMIN\\Desktop\\CSV_1.csv') as f:
reader = csv.DictReader(f) # read rows into a dictionary format
for row in reader: # read a row as {column1: value1, column2: value2,...}
print(row)
#for (k,v) in row.items(): # go over each column name and value
# columns[k].append(v) # append the value into the appropriate list
# based on column name k
所以我已經評論了最後兩行,因爲我不太確定是否需要。我現在每行都打印出來,所以我只需要爲每個足球隊選擇一個隨機的3排(或者在少的情況下選擇1或2)。
我該如何做到這一點?任何提示/技巧?
謝謝。
感謝您的迴應,非常有教育意義。似乎這兩種解決方案都需要從數據框中獲得70%的數據 - 而不確保每個團隊都在輸出數據集中表示。我想確保每隊返回3名球員。有沒有辦法做到這一點 ? –
確保通過在df ['This']中執行子查詢,這將會非常高效,因爲DataFrames會爲這些任務實現布爾值掩碼。這樣你可以構建一個具有你想要的功能的DataFrame。也考慮接受它是否回答了你的問題。 – SerialDev