第1课

创建数据 - 我们从创建自己的数据集开始分析。这可以防止阅读本教程的最终用户为得到下面的结果而不得不下载许多文件。我们将把这个数据集导出到一个文本文件中,这样您就可以获得从文本文件中一些拉取数据的经验。
获取数据 - 我们将学习如何阅读文本文件。这些数据包括婴儿的姓名和1880年出生的婴儿的数量。
准备数据 - 在这里,我们将简单地看一下数据并确保它是干净的。干净,我的意思是我们会看看文本文件的内容并发现任何异常。可能包括缺失的数据,数据中的不一致或任何其他不合适的数据。如果发现这些问题,我们将不得不决定如何处理这些记录。
分析数据 - 我们将简单地找出特定年份中流行的取名倾向。
呈现数据 - 通过表格数据和图表,清楚地向最终用户显示特定年份中最受欢迎的取名。

pandas库用于所有数据分析,不包括一小部分的数据呈现部分。 数据呈现部分需要引入 matplotlib 库。导入库是我们在本课中采取的第一步。

In [1]:
#导入本教程所需的所有库
#在库中导入特定函数的一般语法:
## from(库) import(特定库函数) from pandas import DataFrame, read_csv 
#导入一个库但没有函数的一般语法: 
## import(库)as(给库取一个昵称/别名)
 import matplotlib.pyplot as plt
import pandas as pd #我通常这样导入pandas
import sys #确定Python版本号时需要的库
import matplotlib #仅用于确定Matplotlib版本号
print('Python version ' + sys.version)
print('Pandas version ' + pd.__version__)
print('Matplotlib version ' + matplotlib.__version__)
Python version 3.5.1 |Anaconda custom (64-bit)| (default, Feb 16 2016, 09:49:46) [MSC v.1900 64 bit (AMD64)]
Pandas version 0.20.1
Matplotlib version 1.5.1

创建数据

数据集将包括5个宝宝的名字和当年记录的出生人数(1880年)。

In [3]:
# 初始化宝宝姓名和出生人数
names = ['Bob','Jessica','Mary','John','Mel']
births = [968, 155, 77, 578, 973]

为了将这两个列表合并到一起,我们将使用  zip  函数。

In [4]:
zip?
In [5]:
BabyDataSet = list(zip(names,births))
BabyDataSet
Out[5]:
[('Bob', 968), ('Jessica', 155), ('Mary', 77), ('John', 578), ('Mel', 973)] 

我们基本上完成了创建数据集。我们现在将使用 pandas  库将此数据集导出到csv文件中

df  是一个  DataFrame  对象。您可以将此对象视为类似于SQL表或Excel电子表格的格式保存了BabyDataSet的内容。下面让我们看看df的内容  。

In [6]:
df = pd.DataFrame(data = BabyDataSet, columns=['Names', 'Births'])
df
Out[6]:
  Names Births
0 Bob 968
1 Jessica 155
2 Mary 77
3 John 578
4 Mel 973
 

将这个数据帧导出到  csv  文件。我们可以命名为文件  births1880.csv。函数  to_csv  用于导出文件。除非另有说明,否则该文件将保存在当前目录下。

In [7]:
df.to_csv?

我们仅使用的参数是  index  和  header。将这些参数设置为False将会阻止导出索引和标题名称。更改这些参数的值以更好地了解它们的用法

In [8]:
df.to_csv('births1880.csv',index=False,header=False) 

获取数据

要读入csv文件,我们将使用pandas函数  read_csv。让我们看看这个函数如何使用。

In [9]:
read_csv? 

虽然这个函数有很多参数,我们这里只简单地传递文本文件的位置。

文件位置在 C:\Users\ENTER_USER_NAME.xy\startups\births1880.csv

Note: 当然,你存放的文件位置不一样,你就需要修改它

In [10]:
Location = r'C:\Users\david\notebooks\update\births1880.csv'
df = pd.read_csv(Location) 

注意字符串前面的r。由于斜线"\"是特殊转义字符,因此在字符串前加一个  r  将会忽略整个字符串的转义。

In [11]:
df
Out[11]:
  Bob 968
0 Jessica 155
1 Mary 77
2 John 578
3 Mel 973
 

这给我们带来了这个练习的第一个问题。该  read_csv  函数处理的第一个记录在CSV文件中为头名。这显然是不正确的,因为文本文件没有为我们提供标题名称。

为了纠正这个问题,我们将传递  header  参数给  read_csv  函数并将它设置为  None  (在python中表示为null)。

In [12]:
df = pd.read_csv(Location, header=None)
df
Out[12]:
  0 1
0 Bob 968
1 Jessica 155
2 Mary 77
3 John 578
4 Mel 973
 

.如果我们想给列指定名字,我们必须传递另一个参数names  。我们也可以省略  header 参数。

In [13]:
df = pd.read_csv(Location, names=['Names','Births'])
df
Out[13]:
  Names Births
0 Bob 968
1 Jessica 155
2 Mary 77
3 John 578
4 Mel 973
 

您可以将数字[0,1,2,3,4]视为Excel文件中的行号。在pandas中,这些是 数据帧 index 的一部分  。您可以将index视为sql表的主键,但 index 是允许重复值的。

[Names, Births]  可以视为列标题,类似于Excel电子表格或sql数据库中的列标题。

 

使用过不再需要的csv文件我们可以这样删除它

In [14]:
import os
os.remove(Location)
 

准备数据

 

我们的数据由1880年的婴儿姓名和出生人数组成。我们已经知道我们有5条记录,并且没有记录丢失(非空值)。

names列是由字母数字(宝贝名称)组成的字符串。本列中有不良数据的可能性,但在分析时我们不需担心。在  Births  列应该只包含代表出生在一个特定年份具有特定名称的婴儿数目的整数。我们可以检查所有数据是是否是数据类型整数。这个列有一个浮点数据类型是没有意义的。在分析时,我们不需担心任何可能的异常值。

意识到我们无需在“names”列上做的检查之外,简单地看一下数据帧里面的数据应该是我们在这个目标阶段所需要的。随着我们在数据分析生命周期中的继续,我们将有大量的机会来发现数据集的任何问题。

In [15]:
# 检查每列数据类型
df.dtypes
Out[15]:
Names     object
Births int64
dtype: object
In [16]:
# 检查 Births 列类型
df.Births.dtype
Out[16]:
dtype('int64')

正如你可以看到  Births  列的类型是  int64,所以在这个列中不会出现浮点数(十进制数)或字母数字字符。

 

分析数据

要找出最常见的名字或婴儿出生率最高的名字,我们可以执行以下操作之一。

  • 对数据帧排序并选择第一行
  • 使用  max()  属性来查找最大值
In [17]:
# 方法 1:
Sorted = df.sort_values(['Births'], ascending=False)
Sorted.head(1)
Out[17]:
  Names Births
4 Mel 973
In [18]:
# 方法 2:
df['Births'].max()
Out[18]:
973
 

呈现数据

在这里,我们可以绘制  Births 列,并标记图形以显示最终用户图上的最高点。与表格一起,最终用户清楚地知道 Mel 是数据集中最受欢迎的婴儿名称。

plot()  是一个方便的属性,pandas可以让你无痛苦地绘制数据帧中的数据。上一节中我们学习了如何找到 Births 列的最大值。现在找到 最大出生数973值的婴儿姓名看起来有点棘手,让我们回过头来看看。

回顾一下:
df ['Names']  - 这是婴儿名字的整个列表,整个名字列
df ['Births']  - 这是1880年出生数的整个列表,整个Births列
df [‘Births’].max()  - 这是在 Births 列中找到的最大值

[df ['Births'] == df ['Births'].max()] 等于 [查找Births列中等于973的所有记录] 
df ['Names'] [df ['Births'] == df ['Births'].max()] 等于 选择Names列中的所有记录条件是 [Births列等于973]

另一种方法我们可以使用  Sorted  数据帧:
Sorted ['Names'].head(1).value

str()函数简单方便地将对象转换成一个字符串。

In [19]:

# Create graph
df['Births'].plot() # Maximum value in the data set
MaxValue = df['Births'].max() # Name associated with the maximum value
MaxName = df['Names'][df['Births'] == df['Births'].max()].values # Text to display on graph
Text = str(MaxValue) + " - " + MaxName # Add text to graph
plt.annotate(Text, xy=(1, MaxValue), xytext=(8, 0),
xycoords=('axes fraction', 'data'), textcoords='offset points') print("The most popular name")
df[df['Births'] == df['Births'].max()]
#Sorted.head(1) can also be used
 
The most popular name
Out[19]:
  Names Births
4 Mel 973
 
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfAAAAEbCAYAAAAlL9anAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz%0AAAAMTQAADE0B0s6tTgAAIABJREFUeJzt3Xl8VNX9xvHPV1kEJREVREEUEbRarVpo3ZeqjdYN9GcV%0A14qIIC4ISJVq1draKu5WihsuIIpLccco1latiCC4oCKobO51IUEti+T7++NM6hAD2SY5984879cr%0AL5O5M8PDleTJvefec8zdERERkXRZK3YAERERqTsVuIiISAqpwEVERFJIBS4iIpJCKnAREZEUUoGL%0AiIikkApcREQkhWpV4GZ2nZnNM7MKM9sh6/F2ZjbJzOaY2etmtmfWtlZmNt7M5prZbDM7MmubmdkN%0AZvZu5rWDcvvXEhERyW+1PQK/H9gdmF/l8b8AU9y9O9AXGG9ma2e2DQOWuns34EBglJm1zWw7AdjG%0A3bcCfg6ca2Y/qv9fQ0REpLDUqsDd/QV3/wiwKpt+DYzOPGc68CGwd2bb0Vnb5gP/BHpnve6WzLav%0AgAlAn3r+HURERApOvcfAzWwDoJm7f5b18AKgc+bzzpmvK82v5TYRERGpQbPYAWpiZgZsCiyJnUVE%0ARBqsDfCRayGOBqt3gbv7l2b2nZm1zzoK3wJYmPl8AbA58GnWttLM5wsz26ZW87qqNgU+qG9OERFJ%0AnE6EIdfVMrMK4A3gt+7+pJmdBGzh7pdkDuxGAiXA2sC/gYHu/p2Z/RK4HHDCsG974GN372FmrYF/%0AAC0z2z4CBrj76vpnTfnmA+sAHd19ZeaxfYFngGvdfUgNr78IKHb3IWa2N/Abdz/ZzLYEHgS2BXq6%0A++ure4+GHoHfDwwELjGznoSy/Vdm2wPAAOBlM+tCGBsfmPW6U83sAWB9wnj5wav5M5YALFq0iKKi%0AogbGbVojRozgsssuix2jXtKaPa25Ib3Z05ob0ps9rbnLy8vZbLPNoHZnVB3Yw92XVHkMoB+wI7Cj%0Au680s5uBwcCV7v4U8FTlC8zsUUKpAvwX2M/dv8lsGwxcD/Sqx1/HCQeehwETM4/1BabV470q3w93%0Afx/Yyczer+kFtSpwMxtNKNiNgVIzW5K58vw8YKyZzQGWAcdV/iZC+O1ojJm9C3wHDHL3LzPbxgI9%0AgLlABWGnv7mmDEVFRakr8BYtWqQuc6W0Zk9rbkhv9rTmhvRmT2vuOjJWvXD6v8DXmc93ACZn9c0k%0A4CLgylXewGxTYD/gZIDMafvK8jagiNBB9XU7cAow0cyKgF2A8YRhgsoMQ4GjCH37GXCauy+q8j7L%0AgbIqj1W9aPwHalXg7j5gNY9/RjiFUd22b4FjVrOtAjgz8yEiIrJG7n5f1pevAP3N7EZgKeHOpi2q%0AedlJwOPu/nn2g2b2NLA9oVCr7bDaRCKcuj/dzDoAhwP3kfULgZn1AbYGdnV3N7Pjgb8Bh1T5u00B%0AptQ1QOIvYkuzkpL6/ruIL63Z05ob0ps9rbkhvdnTmjtX3P0OM+tMGLL9FpgMHFDNU/sCZ1Tz+gMA%0AzOx3wAVAfSYTqzxCHks4wj8cOA44Pus5vQhnm2eEA37W4vthgAazpF8ImDktUVZWVlYIp4xERPLW%0AlCnl7LZbMYSLt8rX9NzMRWzr1/S8zHOPBk53972zHtsHuAvYfHVXvJvZxsBcd/9BuZjZv4HWhAnJ%0Adq1m+zxCaf8HmAHMdvd9q1ycdh/wlLvfWs3r//e81WSbBxzemBexiYiI1Oidd+DQQ3PzXmbWEmjl%0A7ovNbCPC9Vi/q/K0vsAd2eWdKexl7r4489AxwGvV/Rnuvnttsrj7x2Z2HjC7ms0PAUPM7EF3/8rM%0AmgE/dvdXa/PeNVGBi4hIo5o/H/bfH046Ca6+OidvWQz808xWEk5LX+vuT1RuzJy57U0Y587WGbjJ%0AzNYinAJ/j1VPedfF/34xcPc7q32C+/jMpGfPmpkTOncMkJMCT80p9HnzythiC51CFxFJk48+gj33%0AhIMPhksvLWf99XN/Cj0f1eYUemqWE73tttgJRESkLj7/HA44APbaC669FqzGG6NW8QnwLzM7sHHS%0AJZOZbWlmMwkT1KxY43PTcgS+0UZlLFxYRKtWsROJiEhNysrgF7+Arl3hnntg7bXDRC7FxbU7Apea%0ApeYIvH17uOuu2ClERKQm33wTTplvsgmMGxfKW3IvNQU+eDBceSWsXFnzc0VEJI6lS6FXL2jRAu6/%0AP/xXGkdqCvyII2DZMnjoodhJRESkOitWwNFHw5Il8PDDaMizkaWmwJs3hyFD4PLLIeHD9iIiBWfl%0AynCb2IIFMGkStGlT82ukYVJT4AD9+sG778Jzz8VOIiIildxhwACYMQOeegrato2dqDCkqsDXWw9O%0APx2uuCJ2EhERgVDeQ4fC5Mnho3372IkKR6oKHOCss+DZZ+GNN2InERGRiy+Ge+8N5d2pU+w0hSV1%0ABd6+fRhnGTkydhIRkcJ25ZUwalQo765dY6cpPKkrcAina+67DxYujJ1ERKQwjR4Nf/wjlJbCttvG%0ATlOYUlngW20VVrW59trYSURECs+4cXDuufDEE7DzzrHTFK5UFjjA8OFw883w1Vexk4iIFI6JE8MV%0A5xMnwm67xU5T2FJb4D17ho+//S12EhGRwlBaCscfD+PHh+VBJa7UFjiEo/DrrgtT94mISON57jk4%0A8ki49VY47LDYaQRSXuAHHqhFTkREGtu0ad9fd9SnT+w0UinVBW4WjsK1yImISOOYNSscLF1ySZgN%0AU5Ij1QUOcMwx4RT6ww/HTiIikl/mzg1j3YMHhw9JltQXePPmcM45WuRERCSXFi6E/faDE0+ECy6I%0AnUaqk/oCh3BaZ84ceP752ElERNLvk09CeR9ySDg4MoudSKqTFwXepg0MGqRFTkREGuqLL+CAA2DX%0AXeGvf1V5J1leFDjAmWfCM8+ECy5ERKTuysvDBWvdu8OYMbBW3jREfsqb/z0bb6xFTkRE6uvbb8Mp%0A8402ChO1NGsWO5HUJG8KHMIiJxMmwKJFsZOIiKTHsmXQu3c4Xf7gg9CyZexEUht5VeDduoXfILXI%0AiYhI7Xz3XZic5auv4NFHoXXr2ImktvKqwCGskKNFTkREalZRASefHO73njQJiopiJ5K6yLsC//nP%0A4ac/DWvViohI9dzD3TtTp8LTT8OGG8ZOJHWVdwUOWuRERGRN3MPPySeegMmToUOH2ImkPvKywA86%0ACNq1g7FjYycREUmeSy+FcePCrbedO8dOI/WVlwVuFsbCtciJiMiqrrkGrr8+nDbfaqvYaaQh8rLA%0AISxy8u238MgjsZOIiCTDLbfAxRfDk0/Cj38cO400VN4WeIsWWuRERKTS+PEwZAg89hj06BE7jeRC%0A3hY4wKmnwjvvwAsvxE4iIhLPww+Hn4cPPgh77hk7jeRKXhd4mzZw+unhKFxEpBA9/TQcdxzcfTf8%0A8pex00gu5XWBgxY5EZHC9cILcMQRcNNN0KtX7DSSa3lf4B06hAXpr7wydhIRkabzyithaumrrgpH%0A4JJ/clLgZvYrM3vFzGaa2etmdmLm8XZmNsnM5mQe3zPrNa3MbLyZzTWz2WZ2ZC6yVGfoULj3Xvjg%0Ag8b6E0REkuPNN6GkBC68EPr3j51GGkuujsDHAie6+07AocBNZrYucDkwxd27A32B8Wa2duY1w4Cl%0A7t4NOBAYZWZtc5RnFd27w8EHa5ETEcl/770HBxwAZ5wRDl4kf+WqwCuAyvItBj4HlgNHAaMB3H06%0A8CGwd+Z5R2dtmw88C/TOUZ4fGD48jAMtXtxYf4KISFyLFsF++4XVxS66KHYaaWy5KvBjgIlmNh94%0ADjgJaAM0c/fPsp63AKicuK9z5uvqtuXcz38OO++sRU5EJD99+insv384dX7llWFGSslvzRr6BplT%0A4hcAvdz932bWA3gE2BHI2T+hESNG0KJFCwBKSkooKSmp83sMHw79+sHgwbDOOrlKJiIS15dfhlvE%0AevSAUaOSVd6lpaWUlpYCsHz58shp8ot5A6cpM7OfAne7+zZZj70MjAAmAl0rj8LNbCpwvrv/w8ze%0AAE5x95cz2yYApe4+psr7FwFlZWVlFDVwsdqKCthhh1Dg/fo16K1ERBJhyZJw5L3JJnD//dC8eexE%0Aq1deXk5xcTFAsbuXx86Tdrk4hb4I2MTMtgEws62ALYHZwP3AwMzjPYFNgX9lXvcAMCCzrQthbPyh%0AHORZrbXWCoucjBwZylxEJM3++1847DAoLoYJE5Jd3pJ7DS7wzNF1f+A+M5sJPAgMcvcPgPOA3cxs%0ADjAGOM7dK9cHGwm0NrN3gUmZ13zZ0Dw16dNHi5yISPotXw5HHgnffQcTJ0LLlrETSVNr8Cn0xpbL%0AU+iVrr46nGp68cVkjRWJiNTGd9+Fg5F588JMk+GsdPLpFHpu5f1MbNU59VR4+20tciIi6VNREa7h%0AeeutsCxoWspbcq8gC7xykZMrroidRESk9tzhrLPCwcfkybDRRrETSUwFWeAQvgkmTw5TDoqIpMGI%0AEWFp0GeeCVedS2Er2ALv0AFOOEGLnIhIOlx2GYwZE8p7881jp5EkKNgChzBP8D33aJETEUm2664L%0ABxtPPx3WdhCBAi/wrbeGX/0qfHOIiCTRmDFhVbEnnwwTUYlUKugCBy1yIiLJNWFCuF7n0UfhZz+L%0AnUaSpuALfJddYMcdQ4mLiCTFo49C375hzoq99675+VJ4Cr7AIRyFX3stLFsWO4mISLhQrU8fuOsu%0AOOig2GkkqVTghHHwDTaAceNiJxGRQjdlCvTqBTfeGKZKFVkdFTha5EREkmHmzHBAcfnlcNJJsdNI%0A0qnAM449Fr7+Oow7iYg0tbffDmt6n39+mClSpCYq8IwWLeCcc8Jvvglf30VE8sz774c1vQcMCNfk%0AiNSGCjzLqaeGBQL+/e/YSUSkUHz4YSjvo46CP/whdhpJExV4lqIiGDhQi5yISNP47LNQ3r/4BVxz%0AjZY3lrpRgVdx1llhusK33oqdRETy2eLFUFLy/TwUKm+pKxV4FZtsAscfr0VORKTxfP11uL97s83C%0Avd5rrx07kaSRCrwaw4bB+PFhbEpEJJeWLoXDD4d114X77oPmzWMnkrRSgVdj663Db8da5EREcmnF%0AinCx2tKl8NBDsM46sRNJmqnAV2P4cBg9GsrKYicRkXywciWccEI4s/f447DeerETSdqpwFdj113h%0AJz/RIici0nAVFdC/P7z+OpSWwvrrx04k+UAFvgZa5EREGso9TBL17LPhDpd27WInknyhAl+Dgw+G%0Atm3h7rtjJxGRtLrwQnjwwbDCWMeOsdNIPlGBr4EWORGRhrj8crj5Zpg8Gbp0iZ1G8o0KvAbHHgvl%0A5VrkRETq5sYb4S9/gaeegm22iZ1G8pEKvAaVi5xoelURqa077wyrik2aFGZaE2kMKvBa6N8fZs3S%0AIiciUrMHHoBBg8J93rvsEjuN5DMVeC1okRMRqY0nnoCTToIJE8ICJSKNSQVeS2edFe7ffPvt2ElE%0AJIn++U/49a/h9tvDHSwijU0FXkubbqpFTkSkelOnwmGHwQ03hBIXaQoq8DoYNizcE/7RR7GTiEhS%0AvPYaHHgg/OlPcPLJsdNIIVGB18E224RvVC1yIiIA77wDBxwQ5os488zYaaTQqMDrSIuciAjA/Pmw%0A//5wyikwYkTsNFKIVOB1tNtusP32YXYlESlMH30E++0HvXrBZZfFTiOFSgVeD1rkRKRwff55OG2+%0A115hOM0sdiIpVCrwejjkECguhvHjYycRkaZUVgYlJbDttnDLLWG9BJFY9M+vHioXObniCi1yIlIo%0Avvkm3N/doUO4G6VZs9iJpNCpwOupcpGTxx6LnUREGtvSpWG8u3nzMFVqixaxE4mowOutZUsYPFjT%0Aq4rkuxUr4OijYckSeOQRaNUqdiKRQAXeAP37wxtvaJETkXy1cmWY23zBgrCyWJs2sROJfC8nBW5m%0ALczsBjObY2avmdldmcfbmdmkzOOvm9meWa9pZWbjzWyumc02syNzkaUpFRfDgAEwcmTsJCKSa+7h%0A+3vGjLCmd9u2sROJrCpXl2FcDlS4e3cAM2ufefwvwBR3P8jMegATzWwLd18JDAOWuns3M9sCmGpm%0A/3D3r3KUqUmcfTZsuSXMnh1mahOR9HOHoUNh8mR4/nlo377m14g0tQYfgZtZa6Av8LvKx9z9s8yn%0AvwZGZx6bDnwI7J3ZdnTWtvnAs0DvhuZpaptuCscdp0VORPLJxRfDvfeGAu/UKXYakerl4hR6V+BL%0A4HdmNs3M/mVmvzCzDYBmWWUOsADonPm8c+br6ralyrBhMG6cFjkRyQdXXgmjRoXy7to1dhqR1ctF%0AgTcDNgdmuXtP4Gzg3szjBTFH0Y9+FCZ3uP762ElEpCFGj4Y//hFKS8NkLSJJlosx8IXASmA8gLu/%0Aambzge2BFWbWPusofIvM8yEccW8OfJq1rXR1f8iIESNokbn5sqSkhJKSkhxEz53hw+FXvwqLGhQV%0AxU4jInU1blyYoKm0FHbeOXaa/FFaWkppafjRvnz58shp8ou5e8PfxOxJ4Dp3n2RmXYCpwE+APwEL%0A3P0SM+sJ/B3Ywt1XmtlFwObu3jfzminAtu7+ZZX3LgLKysrKKEp4M+6+O/TuHU6pi0h6TJwIJ5wA%0ADz0UVhiTxlFeXk5xcTFAsbuXx86Tdrm6D3wgcK6ZvU4o6f7u/jFwHrCbmc0BxgDHZa5ABxgJtDaz%0Ad4FJwKCq5Z02v/0tXHMN6JdMkfQoLYXjjw9rG6i8JU1ycgTemNJ0BF5RAdttF06nn3xy7DQiUpPn%0AngtDX7fcAn36xE6T/3QEnluaiS2HKhc5GTlSi5yIJN306XDooWFpYJW3pJEKPMeOOw4WL4bHH4+d%0ARERW5/PPw+IkF1wA/frFTiNSPyrwHNMiJyLJVlEBJ54IP/+5LjiVdFOBN4LTToPXXoMXX4ydRESq%0AGjkyTH18221gBTFTheQrFXgj0CInIsn0wgvwhz/AfffB+uvHTiPSMCrwRnL22WH5wdmzYycREQjj%0A3n36wJ//DD16xE4j0nAq8EbSsSMceyxcdVXsJCJSURHW9e7ZE848M3YakdxQgTeiykVOPv44dhKR%0AwnbVVfDWWzBmjMa9JX+owBvRttvCAQdokRORmF58MSwPqnFvyTcq8EY2fDj87W9QrjmHRJrcF1/A%0A0UfDZZeF0+ci+UQF3sh23z0cid9yS+wkIoWlcty7Rw8466zYaURyTwXeyMy0yIlIDFdfDbNmadxb%0A8pcKvAkceiist15Y7UhEGt+UKfD734dx77ZtY6cRaRwq8CagRU5Ems6XX4Zx7z/9CX72s9hpRBqP%0ACryJHH98+MHyxBOxk4jkL3f4zW9gp53CmgQi+UwF3kS0yIlI47vmmrAOwe23a9xb8p8KvAmddhq8%0A+moYnxOR3HrpJbjwQpgwATbYIHYakcanAm9C668fSlyLnIjkVuW496WXwi67xE4j0jTM3WNnWCMz%0AKwLKysrKKCoqih2nwT74ALbaKpzm23rr2GlE0s8devUK/334YZ06T7Ly8nKKi4sBit1d01s1kI7A%0Am1inTmFFJC1yIpIb114bhqbuuEPlLYVFR+ARvPlmmB1q3jzo0CF2GpH0evll2HdfmDwZdt01dhqp%0AiY7Ac0tH4BFstx3sv78WORFpiK++gl//Gi65ROUthUlH4JE8/3yYoW3RImjTJnYakXRxh969YeXK%0AMO69lg5FUkFH4Lmlf/aR7LFHWOTk5ptjJxFJn+uvhxkzwri3ylsKlf7pR2IWlhrVIicidfPyyzBi%0ABNx7L2y4Yew0IvGowCM67DBYd124557YSUTSYfHicL/3xRfDbrvFTiMSlwo8Ii1yIlJ77tC3bxh6%0AGjo0dhqR+FTgkR1/PHzxBUyaFDuJSLLdcANMmwZ33qlxbxFQgUe3zjpw9tla5ERkTaZPh/PPD+Pe%0AG20UO41IMqjAE2DAgHBF7UsvxU4ikjyLF4f7vX//e9h999hpRJJDBZ4AWuREpHrucMopsM024XoR%0AEfles9gBJBg8OCxyMmcOdO8eO41IMtx4I0ydGuY617i3yKr0LZEQnTrBMcdokRORStOnw29/q3Fv%0AkdVRgSfIsGFw113wySexk4jEVVYW7ve+8MIwa6GI/JAKPEF+/GPYb79wu4xIoXKHfv3CUNLw4bHT%0AiCSXCjxhfvtbGDUKliyJnUQkjlGj4MUXw9kojXuLrJ6+PRJmjz3CFbe33BI7iUjTmzEjHHXfcw+0%0Aaxc7jUiyqcATRoucSKEqKwv3e//ud7DXXrHTiCSfCjyBDjsMWrcOV9+KFAJ3OPVU6NoVzjsvdhqR%0AdFCBJ9Daa4cr0q+4IvxgE8l3o0fDCy/A2LEa9xapLX2rJNQJJ8Dnn2uRE8l/M2eGX1jvuQfat4+d%0ARiQ9clrgZnaymVWY2WGZr9uZ2SQzm2Nmr5vZnlnPbWVm481srpnNNrMjc5kl7bTIiRSC8vIw7n3+%0A+bD33rHTiKRLzgrczDYH+gFTsh7+CzDF3bsDfYHxZrZ2ZtswYKm7dwMOBEaZWdtc5ckHAwbAK6+E%0AqSRF8o079O8PXbqEAheRuslJgZuZAbcCZwDZ107/GhgN4O7TgQ+Byt+zj87aNh94Fuidizz5om3b%0A8ANOi5xIPrrpJnjuORg3Llz3ISJ1k6vFTIYAz7v7zNDlYGYbAM3c/bOs5y0AOmc+75z5urptkjF4%0AMHTrBnPnhv+K5INXX4WhQ+HxxzXuLVJfDS5wM9sOOBLYs6bnNsSIESNo0aIFACUlJZSUlDTmH5cY%0Am20W5oS+6qpwpa5I2lWOe593HuyzT+w00thKS0spLS0FYLkmt8gp8wbep2RmA4ALgWWAAR2AMuBi%0AYCTQtfIo3MymAue7+z/M7A3gFHd/ObNtAlDq7mOqvH8RUFZWVkZRUVGDsqbVrFnQsyfMnw8bbxw7%0AjUj9ucOxx4Y7LJ58UqfOC015eTnFxcUAxe5eHjtP2jV4DNzdR7t7R3ff0t27AC8Bp7r7aOB+YCCA%0AmfUENgX+lXnpA8CAzLYuhLHxhxqaJx9VLnJy/fWxk4g0zC23wD//qXFvkVxojPvAnXAkDnAesJuZ%0AzQHGAMe5+8rMtpFAazN7F5gEDHL3LxshT14YPlyLnEi6vfYanHMOjB+vM0kiudDgU+iNTafQA3fY%0AddcwHn7OObHTiNTNkiXQo0c4fX7RRbHTSCw6hZ5bmoktJSoXObn6alixInYakdpzh9NOg06d4IIL%0AYqcRyR8q8BQ5/HBo1UqLnEi63Hor/OMfcPfdGvcWySUVeIpokRNJm9dfD0M+d98NHTrETiOSX1Tg%0AKXPiifDZZ+EWHJEkW7IEjjoq/NK5336x04jkHxV4ymiRE0kDdxg4EDp2hAsvjJ1GJD+pwFNo4ECY%0APh1efjl2EpHqjRkDTz+tcW+RxqQCT6G2beHUU7XIiSTTG2+Es0R33w2bbBI7jUj+ytViJtLEBg+G%0A7t3h3Xdhq61ipxEJvv46zHM+ZAjsv3/sNCL5TUfgKdW5c/hBedVVsZOIBJXj3h06aLIWkaagAk+x%0Ac8+FO+6ATz+NnUQEbr8dnnoqTJWqcW+RxqcCT7Htt4df/AJuuCF2Eil0s2bBWWeFRUo07i3SNFTg%0AKTd8ONx4Yxh7FInhm2/CcM4558ABB8ROI1I4VOApt9de4WK2W2+NnUQK1aBB0K6dxr1FmpoKPOW0%0AyInEdMcd8MQTcM890Ez3tIg0KRV4HujVC1q2hAkTYieRQvLmm3DGGWHce9NNY6cRKTwq8DygRU6k%0AqVWOe599Nvzyl7HTiBQmFXieOPHEcDtZaWnsJFIIzjgDNtwQLrkkdhKRwqUCzxOtWoXbeLTIiTS2%0AO++Exx7TuLdIbCrwPDJwYFjgZNq02EkkX731Vjj6Hjs2rDQmIvGowPPIBhtokRNpPN9+G8a9zzwT%0ADjwwdhoRMU/4VU9mVgSUlZWVUVRUFDtO4i1cGO4LnzVLi5xIbp1yCsyZA88+q1PnUj/l5eUUFxcD%0AFLt7eew8aacj8DxTucjJ1VfHTiL55K674OGHNe4tkiQq8DxUucjJZ5/FTiL54O23w2xrY8dCp06x%0A04hIJRV4Htp+e9hnHy1yIg1XOe49aBAcdFDsNCKSTQWep7TIieTCWWdBcTFcemnsJCJSlQo8T+29%0Ad7iI7bbbYieRtBo3DiZODOPezZvHTiMiVanA85QWOZGGmD07zCtw112w2Wax04hIdVTgeax373Dk%0AdN99sZNImvz3v2Hc+/TT4eCDY6cRkdVRgecxLXIi9XH22dCmDfzxj7GTiMiaqMDz3Eknwccfw1NP%0AxU4iaXD33fDggxr3FkkDFXie0yInUlvvvAMDBoTFSjp3jp1GRGqiAi8Ap58OU6fC9Omxk0hSVY57%0ADxgAhxwSO42I1IYKvABssAH066dFTmT1Bg+G1q3hsstiJxGR2tKsxgViyJCwyMl770HXrrHTSJLc%0Acw/cfz+8+qrGvUXSREfgBaJzZzjqKLjqqthJJEnmzIHTTtO4t0gaqcALiBY5kWxLl4Zx7/794dBD%0AY6cRkbpSgReQHXYIU6z+9a+xk0gSnHMOrLMO/PnPsZOISH2owAvM8OGhwLXISWG7916YMCF8aNxb%0AJJ1U4AVmn33CRWxjxsROIrHMnRtOm99+O2y+eew0IlJfKvACU7nIyVVXaZGTQlQ57t2vHxx+eOw0%0AItIQDS5wM2tpZhPNbLaZzTSzUjPrmtnWzswmmdkcM3vdzPbMel0rMxtvZnMzrz2yoVmkdo44Apo1%0AC7cOSWEZMgRatIC//CV2EhFpqFwdgd/k7tu4+07AI8CtmccvB6a4e3egLzDezNbObBsGLHX3bsCB%0AwCgza5ujPLIGWuSkMN13X7jne8KEUOIikm4NLnB3X+buT2Y99BJQObJ2FDA687zpwIfA3pltR2dt%0Amw88C/RuaB6pnd/8Bj76CJ5+OnYSaQrvvgunnhrGvbfYInYaEcmFxhgDPxt4yMw2AJq5e/ZdxwuA%0AyukiOme+rm6bNLJWreDMM7XISSGoHPc++WTo1St2GhHJlZwWuJmNALoCI3L5vtI4Tj8dXnoJXnkl%0AdhJpTMNrsrNPAAAKsElEQVSGhWse9MuaSH7J2VzoZjYM6AXs5+5LgaVm9p2Ztc86Ct8CWJj5fAHh%0AVPunWdtKV/f+I0aMoEVm4K6kpISSkpJcRS9YG274/SIn994bO400hgceCGt8z5ihcW+Jo7S0lNLS%0A8KN9+fLlkdPkF/McXMVkZkOAYwnlXZb1+BhggbtfYmY9gb8DW7j7SjO7CNjc3fuaWRdgCrCtu39Z%0A5b2LgLKysjKKiooanFVWtWABbL01vPmmFjnJN++9BzvvHKbP7a2rSyQBysvLKS4uBih29/LYedKu%0AwQVuZh2BRcB7wBLACFeX72pm7YGxQBdgGTDI3Z/LvK41MAboAXwH/M7dH6zm/VXgjez446G4GG68%0AMXYSyZVly2C33WCPPeC662KnEQlU4LmVkyPwxqQCb3yvvQa77hqOxtu1i51GcuHMM8P1DS+8AC1b%0Axk4jEqjAc0szsQk/+QnstZcWOckXDz4IY8eG+71V3iL5SwUuwPeLnHzzTewk0hDvvw+nnAK33QZb%0Abhk7jYg0JhW4ALDvvtClixY5SbNly8L93iecAEdqYmKRvKcCF2DVRU6++y52GqmP4cPD1LhXXhk7%0AiYg0BRW4/M8RR4R50rXISfr8/e9w551hvnONe4sUBhW4/E+zZjB0qBY5SZt586BvX7j1Vt3LL1JI%0AVOCyit/8Bj74AK65JlwQpSJPtuXL4eijw738//d/sdOISFNSgcsqWrcOV6OPHx9maGvXDg46CH7/%0Ae3j0Ufjkk9gJJdvw4eGaBY17ixQeTeQiq7V0aZjkZdq08PHyy/DOO9CpE/TsGT5+9jP46U/DTG7S%0AtB56CE46KSxGs9VWsdOI1EwTueSWClzqpLw8FEZloU+bBosWQffu3xd6z56w446wzjqx0+avefPC%0APOc33RRuHRNJAxV4bqnApcE+/fT7o/TKj8WLYfvtvy/0nj1h223DhXLSMMuXhznOe/SAUaNipxGp%0APRV4bqnAJefcYf78VQv9lVegoiIcNVYWes+e4apps9iJ02XIEHj2WZgyRWc5JF1U4LmlApcmsXIl%0AzJ69aqm/+iq0aROOJLPH1DfZJHba5Hr4YTjxRJg+Hbp1i51GpG5U4LmlApdoli2D119f9SK5t9+G%0ATTddtdB79ID114+dNr7588MZjL/9Ldw6JpI2KvDcUoFLoixZAjNmfH+B3LRpobi6dVv1IrmddoJW%0ArWKnbTrLl4cV43baKRS4SBqpwHNLBS6J95//hFPG2aX+xRfw4x+vepHcdttB8+ax0zaOoUPhmWfC%0AGt8a95a0UoHnlgpcUsc93LqWXejTp8OKFT+8SG6rrWCtlE9X9MgjYaa16dPD7XoiaaUCzy0VuOSF%0AioowyUz2RXIzZ4aZ5apeJNexY+y0tbdgQThtfuON0KdP7DQiDaMCzy0VuOSt5cvhjTdWvUjurbdg%0A441/eJHcBhvETvtDK1aEce8ddggTtoiknQo8t1TgUlC+/jocmWfPJPf+++F+9KoXya27btys554L%0ATz0Vxr0L6YI9yV8q8NxSgUvB++KLH14k99ln4aK47Ivktt++6S6Se+wxOPbYkGXrrZvmzxRpbCrw%0A3FKBi1ThDh9++MOL5JYuDUfm2RfJde+e+4vkFi4Mf87118Nxx+X2vUViUoHnlgpcpBYqKmDu3B9e%0AJNeixaoXyfXsCZttVv/pYVesgL33DrfI3Xxzbv8OIrGpwHNLBS5STytWwKxZq14k9+absNFGq14k%0A17MnbLhh7d5z+HB48kmYOlXj3pJ/VOC5pQIXyaFvv/3hRXLvvgtduqxa6DvvDOutt+prH38cjjkm%0AvGabbeLkF2lMKvDcUoGLNLKvvvrhRXKffAI/+tH3pd6tW5jfXOPeks9U4LmlAheJ4MMPf7jc6rHH%0Awg03xE4m0nhU4LmlAhdJAHetiy75TwWeWymfJVokP6i8RaSuVOAiIiIppAIXERFJIRW4iIhICqnA%0ARUREUkgFLiIikkIqcBERkRRSgYuIiKSQClxERCSFVOAiIiIppAIXERFJIRW4iIhICqnARUREUihq%0AgZvZVmb2bzN7x8ymmtmPYuYRERFJi9hH4DcBo919a+AK4M7IeXKqtLQ0doR6S2v2tOaG9GZPa25I%0Ab/a05pbcilbgZtYO+ClwN4C7PwhsZmZbxsqUa2n+Jktr9rTmhvRmT2tuSG/2tOaW3Ip5BL4Z8LG7%0AV2Q9thDoHCmPiIhIajSLHaC2ysvLY0eos+XLl6cyN6Q3e1pzQ3qzpzU3pDd7WnOnMXOSmbvH+YPD%0AKfS5wAaVR+Fm9jGwu7u/n/W8jsAHUUKKiEhj6OTuH8YOkXbRjsDd/T9mNgM4AbjTzP4PWJRd3hkf%0AAZ2AJU2dUUREcq4N4ee6NFC0I3AAM+sO3AFsCJQBJ7v7m9ECiYiIpETUAhcREZH6iX0f+P/UdlIX%0AMzvEzN7OPO8BM1uvqbNWyVNjbjPb3My+M7MZZjYz898uMfJmZbrOzOaZWYWZ7bCG5yVqf2cy1Zg9%0Aofu8pZlNNLPZmUylZtZ1Nc9NzH6vbe4k7vNMrlIzezWT6V9mtuNqnpeYfZ7JU2PupO7zSmZ2cub7%0A9LDVbE/UPk8dd0/EB/AMcELm8yOBl6t5zrrAJ0C3zNc3AFekIPfmwJex93GVTHsAmwLvAzus5jmJ%0A2991yJ7Efd4SODDr60HAs0nf73XInbh9nslVlPV5L+DVpO/zOuRO5D7PyvbvzMdhadjnaftIxBF4%0AHSZ1OQiY4e5zM1+PAvo0WdAq6jgZjTVltpq4+wvu/hFrzpWo/V2pltmpxfYm5e7L3P3JrIdeIvyQ%0AqypR+70OuSFh+xzA3bPvXVofqKjmaYna51Dr3JDAfW5mBtwKnAEsX83TErfP0yYp94GvaVKX7KvS%0AOwMLsr6eD3Qws7WqvLap1DY3QGszm0b4ZnsY+KNnfu1MsKTt77pK+j4/G3iomseTvt9XlxsSus/N%0A7E5gX8CBX1XzlETu81rkhmTu8yHA8+4+M3R5tRK5z9MkEUfgBeAjoKO79wT2B/YEhsaNlPcSvc/N%0AbATQFRgRO0td1JA7sfvc3U9y987ABYR1F1KhFrkTt8/NbDvCcOKfYuYoBEkp8EXAJmaWnacz4Wg2%0A20Jgi6yvu/DDI+CmVKvc7r7C3T/PfL4YGEP4Rku6pO3vWkvyPjezYYQxzQPdfWk1T0nkfq8pd5L3%0AeSV3Hwvsa2Ztq2xK5D6vtLrcCd3nexKGWOaa2TxgF+BmMzutyvMSvc/TIBEF7u7/ASondWENk7o8%0ACeyUuX8cYCBwb5MFraK2uc2snZk1y3zeEjgCmNnEcesjUfu7LpK6z81sCHAMcIC7r25yosTt99rk%0ATuI+N7NiM9sk6+tewOfu/lWVpyZqn9c2dxL3ubuPdveO7r6lu3chXDPR391vqvLURO3zVIp9FV3l%0AB9AdeBF4B3gZ2Dbz+CWE//mVzzsEeBuYA/wdaJP03EBv4A3CN9YbwHVA88i5RxPOICwHPgbmpGF/%0A1zZ7Qvd5R8KFSHMJv/jNBKYkfb/XNndC93lnYCrwGvAq8BSwfQr2ea1yJ3GfV/N3+QeZq9CTvM/T%0A+KGJXERERFIoEafQRUREpG5U4CIiIimkAhcREUkhFbiIiEgKqcBFRERSSAUuIiKSQipwERGRFFKB%0Ai4iIpJAKXEREJIX+H94Zwm+87SuFAAAAAElFTkSuQmCC" alt="" />
课程主页      上一课         下一课 

第一课 导入库 - 创建数据集 - CSV读取 - 导出 - 查找最大值 - 绘制数据的更多相关文章

  1. ChartControl第一课简短的控件初步设计

    WinForms Controls >Controls > Chart Control > Getting Started This document gives you a qui ...

  2. 第三课 创建函数 - 从EXCEL读取 - 导出到EXCEL - 异常值 - Lambda函数 - 切片和骰子数据

    第 3 课   获取数据 - 我们的数据集将包含一个Excel文件,其中包含每天的客户数量.我们将学习如何对 excel 文件进​​行处理.准备数据 - 数据是有重复日期的不规则时间序列.我们将挑战数 ...

  3. GIt学习第一天之安装和版本库创建

    搬运自 ‘廖雪峰的官方网站’ 1.git安装 官网下载地址:https://git-scm.com/download/win   百度网盘下载地址:https://pan.baidu.com/s/1k ...

  4. Nehe OpenGL教程第一课-创建一个OpenGL窗口(Win32)

       原文英文地址为:Creating an OpenGL Window (Win32),翻译的chm中文格式文档下载地址为:OpenGL教程电子书(chm格式)中文版,源代码在官网上也可以下载到,每 ...

  5. SlidingMenu第一篇 --- 导入SlidingMenu库

    1. 下载地址:https://github.com/jfeinstein10/SlidingMenu 2.  找到下载好的SlidingMeun的library目录 3.  导入库(将上述地址复制到 ...

  6. 第二课 TXT读取 - 导出 - 选择顶部/底部记录 - 描述性统计 - 分组/排序

    第2课 创建数据 - 我们从创建自己的数据集开始分析.这可以防止阅读本教程的最终用户为得到下面的结果而不得不下载许多文件.我们将把这个数据集导出到一个文本文件中,这样您就可以获得从文本文件中一些拉取数 ...

  7. MXNet学习-第一个例子:训练MNIST数据集

    一个门外汉写的MXNET跑MNIST的例子,三层全连接层最后验证率是97%左右,毕竟是第一个例子,主要就是用来理解MXNet怎么使用. #导入需要的模块 import numpy as np #num ...

  8. NeHe OpenGL教程 第一课:OpenGL窗口

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  9. 【C++探索之旅】开宗明义+第一部分第一课:什么是C++?

    内容简介 1.课程大纲 2.第一部分第一课:什么是C++? 3.第一部分第二课预告:C++编程的必要软件 开宗明义 亲爱的读者,您是否对C++感兴趣,但是C++看起来很难,或者别人对你说C++挺难的, ...

随机推荐

  1. nginx + php 403 原因分析

    环境:nginx + php 问题: 配置的网站,访问出现报错:Access Denied (403) 常见解决方法: 1.文件权限问题 可能是文件权限问题,没有读权限. 或者selinux没有关闭. ...

  2. mongodb多实例部署

    安装与管理MongoDB 1.安装解压源码包 [root@bogon ~]# tar xf mongodb-linux-x86_64-rhel70-4.0.6.tgz [root@bogon ~]# ...

  3. 通过分析反汇编还原 C 语言 if…else 结构

    让我们从反汇编的角度去分析并还原 C 语言的 if - else 结构,首先我们不看源代码,我们用 OllyDBG 载入 PE 文件,定位到 main 函数领空,如下图所示. 在图示中,我已经做好了关 ...

  4. vue: This relative module was not found

    这是今天运行vue项目报的一个错误,特地在此记录一下. 错误信息如下: ERROR Failed to compile with 1 errors This relative module was n ...

  5. 非传统题初探——AtCoder Practice Contest #B - インタラクティブ練習 (Interactive Sorting)

    原题: Time limit : 2sec / Memory limit : 256MB Score : 300 points Problem Statement This is an interac ...

  6. SpringBoot快速创建HelloWorld项目

    废话不多提,拿起键盘,打开 IDEA 就是一通骚操作. 打开 IDEA 后,首页选择 Create New Project,再接着按下图所示,快速搭建SpringBoot项目. 接下来将 Group ...

  7. Problem 17

    Problem 17 If the numbers 1 to 5 are written out in words: one, two, three, four, five, then there a ...

  8. Junit在SSH中的集成测试

    测试Spring容器 在Junit的测试类中,继承AbstractJUnit4SpringContextTests就可以进行Spring容器测试, 例如下面测试用例, @RunWith(SpringJ ...

  9. OO第四单元总结——查询UML类图 暨 OO课程总结

    一.本单元两次作业的架构设计总结 作业一.UML类图查询 1. 统计信息图 2. 复杂度分析 基本复杂度(Essential Complexity (ev(G)).模块设计复杂度(Module Des ...

  10. hdu 3714 三分

    #include<stdio.h> #define mi 1e-9 #define N 11000 struct node{ double x,y,z; }a[N]; int n; dou ...