如何将dataframe列拆分为pandas中的另外两列?

时间:2018-04-11 13:47:20

标签: python pandas dataframe

我正在尝试将名为“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

任何人都知道......如何获得它?

3 个答案:

答案 0 :(得分:2)

使用DataFrame.popvar 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=PropertyChangedassignzip解包

dict