我正在尝试将名为“variable”的列拆分为另外两列“Type”和“Parameter”
BatchNumber PhaseNumber SiteID variable Values
0 4552694035 0020B 2 min_tempC 27.0
1 4552694035 OverAll 2 max_tempF 24.0
我尝试使用下面的代码
weatherData = weatherData['variable'].str.split('_', 1)
但没有得到预期的结果。 预期结果如下。
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
任何人都知道......如何获得它?
答案 0 :(得分:2)
使用DataFrame.pop
为var onSubmitForm = function(e) {
e.preventDefault();
var $form = $(this);
var url = $form.attr('action');
var formData = new FormData(this);
var xhr = $.ajax({
type: 'post',
url: url,
data: formData,
cache: false,
contentType: false,
processData: false
});
xhr.success(function (res){
//do some stuff
});
$container.on('submit', '#my_form', onSubmitForm);
提取专栏,为expand=True
使用参数DataFrame
:
weatherData[['Type','Parameter']]=weatherData.pop('variable').str.split('_', 1, expand=True)
print (weatherData)
BatchNumber PhaseNumber SiteID Values Type Parameter
0 4552694035 0020B 2 27.0 min tempC
1 4552694035 OverAll 2 24.0 max tempF
如果还希望原始列移除pop
:
weatherData[['Type','Parameter']] = weatherData['variable'].str.split('_', 1, expand=True)
print (weatherData)
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
答案 1 :(得分:0)
这可以通过pd.Series.str.split
:
df['Type'], df['Parameter'] = df['variable'].str.split('_')
# BatchNumber PhaseNumber SiteID variable Values Type Parameter
# 0 4552694035 0020B 2 min_tempC 27.0 min max
# 1 4552694035 OverAll 2 max_tempF 24.0 tempC tempF
答案 2 :(得分:0)
使用UpdateSourceTrigger=PropertyChanged
,assign
和zip
解包
dict