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

如何在Pandas中将DataFrame的variable列拆分为Type和Parameter列?

拆分DataFrame的"variable"列为"Type"和"Parameter"两列

你之前写的weatherData = weatherData['variable'].str.split('_', 1)其实已经完成了拆分动作,但问题在于这个操作只是返回了一个包含拆分后元素的Series(每个元素是一个列表),并没有把这些值作为新列添加到原DataFrame里,所以才没得到预期结果。

这里给你两种简洁的解决方案:

方案一:一步到位拆分并添加新列

直接将拆分结果赋值给新的列名,expand=True参数会让str.split返回一个多列的DataFrame,刚好对应我们需要的Type和Parameter:

import pandas as pd

# 假设你的原始DataFrame是weatherData
weatherData[['Type', 'Parameter']] = weatherData['variable'].str.split('_', 1, expand=True)

方案二:分步拆分合并(更直观)

如果想更清晰地看到每一步的操作,可以拆分后再合并:

# 拆分variable列,得到临时的两列DataFrame
split_result = weatherData['variable'].str.split('_', 1, expand=True)
# 给临时DataFrame设置列名
split_result.columns = ['Type', 'Parameter']
# 将临时列合并回原DataFrame
weatherData = pd.concat([weatherData, split_result], axis=1)

运行以上任意一种代码后,你的DataFrame就会新增Type和Parameter列,完全符合你给出的预期结果:

BatchNumber PhaseNumber SiteID variable Values Type Parameter
0 4552694035 0020B 2 min_tempC 27.0 min tempC
1 4552694035 OverAll 2 max_tempF 24.0 max tempF

额外提示

如果你的variable列中存在没有下划线的异常值,拆分后对应的Type或Parameter会出现NaN。你可以用fillna来处理这些缺失值,比如统一填充为"Unknown":

weatherData[['Type', 'Parameter']] = weatherData['variable'].str.split('_', 1, expand=True).fillna('Unknown')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:40:28