假設我有一個串列:
mylist = ['a'/span>,'b'/span>,'c'/span>]
和一個Pandas資料框架(df),它有一個名為 "評級 "的列。我怎樣才能在迭代我的串列時獲得一個評級的出現次數?例如,我需要的是:
for item in myList
# 在這里做一堆需要很長時間的事情。
# 想在下面做列印陳述句以顯示進度。
# print df['rating'].value_counts().a <- I can do this,
# but want to use variable 'item'
# print df['rating'].value_counts().item <- 或者像這樣
我知道我可以得到 "評級 "的所有不同值的計數,但這并不是我所追求的。
uj5u.com熱心網友回復:
如果你必須這樣做,你可以使用.loc來過濾df,然后再得到df的大小。
mylist = ['a'/span>,'b'/span>,'c'/span>]
df = pd. DataFrame({'rating': ['a','a','b','c','c', 'c','d','e','f']})
for item in mylist:
print(item, df.loc[df['rating']==item] .size)
輸出
a 2.
b 1
c 3
uj5u.com熱心網友回復:
不要把這個問題想成是 "從串列到資料框架 "的問題,把它翻轉過來可能是最簡單的:
mylist = ['a'/span>,'b'/span>,'c'/span>]
df = pd. DataFrame({'rating': ['a','a','b','c','c', 'c','d','e','f']})
ValueCounts = df['rating'].value_counts()
ValueCounts[ValueCounts.index.isin(mylist)]。
輸出:
c 3.
a 2
b 1
名稱:評級,dtype:int64
uj5u.com熱心網友回復:
你甚至不需要一個for回圈,只需要做:
df['rating'].value_counts() [mylist]
或者把它變成一個字典:
df['rating']。 value_counts()[['a', 'b', 'c']].to_dict()
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/323853.html
標籤:
上一篇:通過200個資料集進行迭代
下一篇:無法在控制器中獲取異步函式的結果
