You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于行条件生成Pandas独立字符串结果DataFrame

实现基于条件生成独立字符串Pandas DataFrame

没问题!我来帮你搞定这个需求——咱们可以用Pandas的向量化操作高效实现,完全不用写低效的循环,直接生成你要的独立字符串结果DataFrame。

第一步:先构造示例数据

假设你的原始数据是这样的(可以替换成你自己的数据集):

import pandas as pd

# 示例温度数据集
data = {'temperature': [3, 7, 12, 9, 15, 4]}
original_df = pd.DataFrame(data)

方法一:用numpy.where嵌套实现多条件判断

这种方法适合简单的多分支条件,逻辑清晰:

import numpy as np

# 按条件生成结果数组
status_array = np.where(original_df['temperature'] > 10, 'too hot',
                        np.where(original_df['temperature'] < 5, 'too cool', 'just right'))

# 转换成独立的DataFrame
result_df = pd.DataFrame(status_array, columns=['status'])

方法二:用pd.cut按区间映射标签

如果你的条件是明确的区间划分,用pd.cut会更直观:

# 定义区间边界和对应标签
bins = [-float('inf'), 5, 10, float('inf')]
labels = ['too cool', 'just right', 'too hot']

# 生成结果并转为独立DataFrame
result_df = pd.cut(original_df['temperature'], 
                   bins=bins, 
                   labels=labels, 
                   include_lowest=True).to_frame(name='status')

验证结果

运行后result_df就是你要的独立DataFrame,内容如下:

status
too cool
just right
too hot
just right
too hot
too cool

这两种方法都是Pandas推荐的向量化操作,比逐行循环快得多,而且能保证结果和原数据的行顺序完全对应。如果你的原始数据有其他列,只需要把original_df['temperature']替换成你要判断的目标列名就行。

内容的提问来源于stack exchange,提问作者bbartling

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:48:24