pandas选取按组分类后最新的数据

     id    product   date
0   220    6647     2014-09-01 
1   220    6647     2014-09-03 
2   220    6647     2014-10-16
3   826    3380     2014-11-11
4   826    3380     2014-12-09
5   826    3380     2015-05-19
6   901    4555     2014-09-01
7   901    4555     2014-10-05
8   901    4555     2014-11-01

示例代码:

df.groupby(['id','product']).last()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,让我来回答你的问题。 首先,感知器算法是一种二元分类算法,它可以通过输入样本的特征值,对样本进行分类。对于iris数据集,我们可以选择其中的两个特征:萼片长度和花瓣长度,来进行分类。 以下是实现步骤: 1. 首先,我们需要使用pandas库读入iris数据集,并取出前100组数据。 ```python import pandas as pd url = 'http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data' iris = pd.read_csv(url, header=None) iris = iris.iloc[:100,:] ``` 2. 接着,我们需要将数据集中的类别标签进行编码。将Iris-setosa编码为-1,将Iris-versicolor编码为+1。 ```python import numpy as np y = np.where(iris.iloc[:, -1]=='Iris-setosa', -1, 1) ``` 3. 接下来,我们需要提取数据集中的两个特征列:萼片长度和花瓣长度,并将它们组合成一个特征矩阵。 ```python X = iris.iloc[:, [0, 2]].values ``` 4. 然后,我们需要将数据集中的样本进行可视化,以便观察是否存在线性分界面。 ```python import matplotlib.pyplot as plt plt.scatter(X[:50, 0], X[:50, 1], color='red', marker='o', label='setosa') plt.scatter(X[50:, 0], X[50:, 1], color='blue', marker='x', label='versicolor') plt.xlabel('sepal length') plt.ylabel('petal length') plt.legend(loc='upper left') plt.show() ``` 5. 我们可以看到,通过萼片长度和花瓣长度这两个特征,可以很好地将setosa和versicolor两种花分开。接下来,我们可以使用感知器算法对这些样本进行分类,并记录迭代次数与错误分类样本数的关系。 ```python from perceptron import Perceptron ppn = Perceptron(eta=0.1, n_iter=10) ppn.fit(X, y) plt.plot(range(1, len(ppn.errors_)+1), ppn.errors_, marker='o') plt.xlabel('Epochs') plt.ylabel('Number of errors') plt.show() ``` 其中,Perceptron类是我们自己实现的感知器算法。eta表示学习率,n_iter表示迭代次数。在训练过程中,我们记录了每次迭代的错误分类样本数,并将它们绘制成图表。 以上就是利用iris数据集对感知器算法进行训练的过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

upDiff

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值