使用多个标签处理相同功能的数据Pandas

时间:2018-03-27 05:46:47

标签: pandas pandas-groupby

我对熊猫来说是全新的,所以希望这个问题不是太新鲜了。

我们说我有以下数据:

 feature1 feature2 feature3 label
 a        2        3         1
 b        2        3         1
 c        2        3         0

在这种情况下,我希望将feature2和feature3单独匹配到标签。在这种情况下,Feature1只是每行的唯一ID,在这种情况下没有帮助(最有可能的是,我最终会删除此功能)

所以我最终想要的是以下因为我将使用模式标签。

 feature1 feature2 feature3 label
 a        2        3         1

从另一个stackoverflow帖子,我使用此代码:

  processed_data = raw_data.groupby(['feature2','feature3']).agg(lambda 
  x:x.value_counts().index[0]).reset_index()

这是正确的方法吗?我已经检查了几个数据点并且它似乎是正确的,但是基于value_counts()doc,我并不完全相信这是我想做的事情。另外,当我查看我的processed_data时,我会看到一个feature1 = x,它对应一行,所以看起来更像是这个代码只选择了一行而不是选择模式。

谢谢!

1 个答案:

答案 0 :(得分:1)

我想是的,这是正确的。您还可以指定列<form> Enter Username:<br> <input type="text" id="usernameEn" name="username"><br> <button id="btnGet">Get</button> </form> <br><br> <form> Username:<br> <input type="text" id="username" name="username"><br> Email:<br> <input type="text" id="email" name="email"><br><br> Password:<br> <input type="text" id="password" name="password"><br><br> </form> <script type="text/javascript"> $(document).ready(function() { $("#btnGet").click(function(event) { event.preventDefault(); $.ajax({ type: 'GET', url: "http://localhost:8080/WebServiceTest2/webresources/users/get/" + $('#usernameEn').val(), dataType: "json", success: function(data) { console.log(data); var userDetails = data; renderDetails(userDetails); }, error: function(jqXHR, textStatus, errorThrown) { alert('Error: ' + textStatus); } }); }); }); function renderDetails(data) { $('#username').val(data.username); $('#email').val(data.email); $('#password').val(data.password); }; </script>

label

另一种解决方案:

processed_data = (df.groupby(['feature2','feature3'])['label']
                   .agg(lambda x:x.value_counts().index[0])
                   .reset_index())

但是,如果想要processed_data = (df.groupby(['feature2','feature3'])['label'] .agg(lambda x:x.mode()) .reset_index()) print (processed_data) feature2 feature3 label 0 2 3 1 列的汇总模式和label列的first值,请使用:

feature1