我正在嘗試使用 Python將group列中的所有三個唯一組分配給不同的變數(請參閱我的代碼)。df如何將其合并到 for 回圈中?顯然var i行不通。
import pandas as pd
data = {
'group': ['a', 'a', 'a', 'b', 'b', 'c', 'c'],
'num': list(range(7))
}
df = pd.DataFrame(data)
unique_groups = df['group'].unique()
# How do I incorporate this logic inside a for loop??
var1 = df[df['group'] == unique_groups[0]]
var2 = df[df['group'] == unique_groups[1]]
var3 = df[df['group'] == unique_groups[2]]
# My approach:
for i in range(len(unique_groups)):
var i = df[df['group'] == unique_groups[i]] # obviously "var i" does not work
uj5u.com熱心網友回復:
all_vars從您的評論來看,作為一個串列似乎是可以的,所以這all_vars[0]是第一組,all_vars[1]第二組等。在這種情況下,請考慮使用groupby:
all_vars = [group for name, group in df.groupby("group")]
uj5u.com熱心網友回復:
您可以使用字典來執行此操作,基本上:
all_vars ={}
for i in range(len(unique_groups)):
all_vars[f"var{i}"] = df[df['group'] == unique_groups[i]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/467271.html
上一篇:如何在符號中定義變數char?
