‫谁啊？
‫我们经历了很多｡
‫但我们会坚持下去｡
‫我们会一起度过难关的｡
‫我们还有几个功能要完成｡
‫下一个是示例｡
‫现在, 这是一个很好的方法来打乱你的数据框｡
‫我的意思是混淆索引｡
‫所以在未来的视频中, 当我们开始将机器学习算法应用到我们的数据中时｡
‫最重要的步骤之一是创建训练集､ 验证集和测试集｡
‫其中一个步骤就是随机排列顺序｡
‫你的数据进来是因为你想避免的是, 这些样本进来的顺序可能会对数据中的模式产生某种影响｡
‫当我们的机器学习算法在学习东西的时候, 我们希望它尽可能的通用｡
‫所以我们不想让它在意顺序｡
‫对于时间, 序列数据等等, 这个规则也有一些例外, 但我只想给你们看这个例子｡
‫如果你想在数据框中混洗行, 那么让我们做汽车销售点示例｡
‫现在sample基本上就是说, 从这个参数的数据帧中取一个样本, frack是这个样本的分数｡
‫所以它是一个整数形式｡
‫例如, 0｡ 5是数据的50%｡
‫所以十行中有五行｡
‫但我们在这种情况下想洗牌的一切｡
‫因此, 我们将使用一个用于100%的数据｡
‫我们走吧｡
‫现在你可以看到索引已经被打乱了｡
‫这基本上是相同的数据帧, 只是顺序不同｡
‫现在, 使用PANDAS时要记住的重要一点是, 行中的信息将与其所在的行保持一致｡
‫所以排九, 日产, 日产白色, 31,600公里, 四门｡
‫所以行保持不变｡
‫在这个函数示例中, 所有的变化都是事物出现的顺序｡
‫现在, 让我们再看一下数据帧｡
‫我真傻, 我们总是忘记重新分配, 所以我们想重新分配, 这里等于, 好了,
‫现在它肯定会打乱汽车销售数据帧, 或者我们创建一个打乱的新数据帧,
‫因为我们想保持原始数据帧的顺序｡
‫所以我们有汽车销售洗牌｡
‫这将返回一个副本, 但打乱的汽车销售量的顺序将与原始汽车销售量数据帧的顺序不同｡
‫真漂亮｡
‫现在, 如果我们想要操作这个shuffle DataFrame,
‫我们可以调用之前在shuffle版本上调用过的相同函数｡
‫关于示例函数的另一个便利之处是, 比方说, 你有一个有200万行的数据帧, 因为它很小,
‫只有10行｡
‫但实际上, 您将处理包含更多行的数据集｡
‫有时在panda中运行函数需要在数百万个不同的行上花费很长时间｡
‫你可能只需要练习20%的数据, 只选择20%的数据｡
‫这个数字可以是任意的, 对吧？
‫在我们的例子中, 我们选择了20%｡
‫这就给了我们两行不同的数据｡
‫如果您有200万行, 也许您需要在1%的数据上练习｡
‫所以仍然有20, 000行｡
‫这将允许你做很多不同的实验, 比一次在200万行上做要快得多｡
‫因此, 这是您在未来的项目中必须考虑的问题｡
‫当您处理大量数据时,
‫您的计算机是否足够强大, 能够连续运行数百万行的函数, 或者您是否希望先对少量数据进行一些小实验,
‫然后在确定哪些可行､ 哪些不可行时升级这些实验？
‫现在我们再看看我们的汽车销售, 重新洗牌数据｡
‫我们有我们的索引, 但它们都出了问题｡
‫我们要怎么把它们重新整理好才能走？
‫汽车销售洗牌重置指数｡
‫这个函数, 正如你所想象的, 将在这里重置索引.
‫所以我们要｡
‫轰｡
‫现在有一种方法可以删除此列｡
‫也许我们该换个地方｡
‫哦, 让我们看看｡
‫是不是这样做的？
‫洗牌｡
‫因为默认情况下, 重置索引列将旧索引作为新列添加到最左侧｡
‫这里有序号, 但这是一个混洗索引, 它被列了出来｡
‫也许我们不想那样｡
‫我想我们可以通过在适当的地方等于真来摆脱这一点｡
‫记住, 很多panda的函数都有inplace参数｡
‫原地随机播放等于true｡
‫哦, 它仍然有｡
‫嗯嗯嗯
‫好吧, 我们解决这个问题的方法是, 如果我们查找有关重置索引的文档, 让我们这样做｡
‫熊猫重置指数｡
‫我不希望在那里有额外索引列｡
‫让我们来看看｡
‫放下
‫不要尝试将索引插入数据帧列｡
‫我想这就是我们需要的｡
‫是否有drop equals true的示例？
‫是的, 我知道
‫我想这就是我们需要的｡
‫所以我们要在地方上等于真｡
‫我们要放弃｡
‫相等true｡
‫默认情况下, Drop为false｡
‫是的, 我知道
‫默认值为false｡
‫这是另一个例子, 说明了如何在熊猫身上发现一个函数｡
‫我刚在谷歌上搜索了函数名重置索引｡
‫再来一次｡
‫你不会从一开始就知道这些事情, 但这并不是要把事情背下来｡
‫我不知道每件事都背下来了｡
‫它是关于研究功能工作的不同方式, 并尝试一些东西｡
‫如果有疑问, 请运行代码｡
‫就这么办吧
‫我们还在那里｡
‫也许我们可以回到这里｡
‫我们要重新设置｡
‫重新设定｡
‫我们走吧｡
‫我们不得不重新设置汽车销售, 打乱数据帧, 现在我们已经将drop设置为equal true｡
‫我们在这里没有左边索引列｡
‫我们还要学习一件事, 那就是如何将函数应用于列｡
‫所以假设我们有一个｡
‫我们来看看汽车销售数据框架｡
‫请记住, 这是一个过程, 您将需要大量查看数据框, 然后操作它, 查看它, 操作它,
‫查看它, 操作它｡
‫所以现在看起来是最好的, 但是我们想把里程表转换成英里｡
‫那我们该怎么做呢？
‫汽车销售首先我们要选择它｡
‫您可以通过键入列名来完成此操作, 然后我们将重新分配它｡
‫我们记得这次要重新分配它｡
‫里程表公里数｡
‫是的｡
‫这是apply函数｡
‫Apply允许您将某种函数（numpy或lambda）应用于某个列｡
‫我们把这个输入进去吧｡
‫而lambda函数开始可能会令人困惑｡
‫我花了一段时间来学习它们, 但我们将逐步通过这个, 并找出它实际上在做什么｡
‫因此, 如果和out运行代码, 我们希望carsales查看整个数据帧｡
‫运行代码｡
‫我们走吧｡
‫现在就去
‫你以为这是什么？
‫只是这些数字变了｡
‫我们有15万｡
‫现在是93776｡
‫好吧, 让我们来看看里程表这一栏｡
‫滴答滴答｡
‫我不想叫他们扁虱｡
‫申请｡
‫是的｡
‫Lambda是Python中的一个关键字, 是匿名函数的缩写｡
‫基本上就是说, 把这个函数应用于X除以1｡ 6.
‫这就是它的意思｡
‫申请｡
‫将X重置为等于x除以1｡ 6年1次｡ 6因为从公里到英里的换算｡
‫他走了大约1. 6109, 但我刚刚四舍五入到1｡ 6.
‫这将使我们的公里数除以1｡ 6, 因为在本例中, X是里程表列中的值｡
‫这条线会查看这一列, 每次取150, 000, 也就是X,
‫然后除以1. 6, 然后将其重新分配给该值｡
‫所以第一列, 94,000, 大约, 第一行, 对不起, 第二行, 87,899实际上大约是55,000英里｡
‫这就是apply函数的作用｡
‫现在这只是一个简单的lambda函数的例子, 但是你可以把你在apply中输入的东西做得很精细｡
‫我们现在不打算深入探讨这个问题｡
‫只想让您知道, apply是一种可以将函数分配给列的方法｡
‫因此, 您可能在其他地方编写了另一个函数, 然后使用apply将其应用于列｡
‫呼｡
‫我们已经看过一大堆信息了｡
‫别担心｡
‫你不必开始就知道我的心事｡
‫记住邮票｡
‫试试看｡
‫运行代码｡
‫如果有疑问, 请搜索它｡
‫再试一次｡
‫然后如果你还困在那里｡
‫问吧｡
‫同时, 在我们进入下一部分之前, 我们将总结PANDAS部分｡
‫请查看参考资料部分, 了解更多关于PANDAS的文档｡
‫有些练习你可以自己尝试一下｡
‫但是, 如果你和我在一起, 让我们跳进去,
‫学习更多关于我们可以用于数据科学和机器学习的其他工具｡