我想创建2个列表从一个列的基础上在其他列的条件.目前,我可以通过扫描双框获得2个列表.

  1. 是否可以在一次扫描中获得两个列表?
  2. 每个团体的名单?
data = {
    "co2": [95, 90, 99, 104, 105, 94, 99, 104],
    "model": [
        "Citigo",
        "Fabia",
        "Fiesta",
        "Rapid",
        "Focus",
        "Mondeo",
        "Octavia",
        "B-Max",
    ],
    "car": ["Skoda", "Skoda", "Ford", "Skoda", "Ford", "Ford", "BMW", "Ford"],
}

df = pd.DataFrame(data)

# For 2 lists
list_skoda = df.loc[df["car"] == "Skoda", "model"].tolist()
print(f"{list_skoda=}")

list_others = df.loc[df["car"] != "Skoda", "model"].tolist()
print(f"{list_others=}")

# For individual groups
df.groupby(["car"]).apply(print)
l = df.groupby(["car"])["model"].groups

print(f"{l=}") # This gives indices not names

请建议.

推荐答案

你可以通过对car值是否为Skoda进行分组来实现你想要的一个语句:

m = df["car"] == "Skoda"
list_others, list_skoda = df['model'].groupby(m).agg(list).to_list()
print(list_skoda, list_others, sep='\n')

输出:

['Citigo', 'Fabia', 'Rapid']
['Fiesta', 'Focus', 'Mondeo', 'Octavia', 'B-Max']

Python相关问答推荐

Class_weight参数不影响RandomForestClassifier不平衡数据集中的结果

Select 用a和i标签包裹的复选框?

从收件箱中的列中删除html格式

如何从pandas的rame类继承并使用filepath实例化

为什么NumPy的向量化计算在将向量存储为类属性时较慢?'

如何在表中添加重复的列?

计算分布的标准差

Tkinter菜单自发添加额外项目

判断solve_ivp中的事件

当条件满足时停止ODE集成?

如何在Python请求中组合多个适配器?

使用类型提示进行类型转换

pytest、xdist和共享生成的文件依赖项

为什么我只用exec()函数运行了一次文件,而Python却运行了两次?

查找数据帧的给定列中是否存在特定值

VSCode Pylance假阳性(?)对ImportError的react

函数()参数';代码';必须是代码而不是字符串

某些值的数值幂和**之间的差异

迭代工具组合不会输出大于3的序列

了解如何让库认识到我具有所需的依赖项