{ "cells": [ { "cell_type": "markdown", "id": "religious-agenda", "metadata": {}, "source": [ "# Pandas" ] }, { "cell_type": "markdown", "id": "internal-minnesota", "metadata": {}, "source": [ "Pandas is a library for tabular data (dataframe)." ] }, { "cell_type": "code", "execution_count": 27, "id": "premier-growth", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 74, "id": "mathematical-mortality", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
xy
01.012181-0.077271
11.287084-0.330829
2-1.1620340.167187
3-0.319899-0.548682
40.821274-0.565926
\n", "
" ], "text/plain": [ " x y\n", "0 1.012181 -0.077271\n", "1 1.287084 -0.330829\n", "2 -1.162034 0.167187\n", "3 -0.319899 -0.548682\n", "4 0.821274 -0.565926" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.DataFrame(np.random.randn(100, 2), columns=['x', 'y'])\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 29, "id": "informed-blues", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(100, 2)" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.shape" ] }, { "cell_type": "code", "execution_count": 30, "id": "distinguished-fence", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 100 entries, 0 to 99\n", "Data columns (total 2 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 x 100 non-null float64\n", " 1 y 100 non-null float64\n", "dtypes: float64(2)\n", "memory usage: 1.7 KB\n" ] } ], "source": [ "df.info()" ] }, { "cell_type": "code", "execution_count": 3, "id": "confident-tractor", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
xy
count100.000000100.000000
mean-0.190087-0.028231
std0.8550970.879615
min-2.183391-1.905329
25%-0.811593-0.705061
50%-0.230736-0.134842
75%0.4057740.646319
max1.5517951.802841
\n", "
" ], "text/plain": [ " x y\n", "count 100.000000 100.000000\n", "mean -0.190087 -0.028231\n", "std 0.855097 0.879615\n", "min -2.183391 -1.905329\n", "25% -0.811593 -0.705061\n", "50% -0.230736 -0.134842\n", "75% 0.405774 0.646319\n", "max 1.551795 1.802841" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.describe()" ] }, { "cell_type": "code", "execution_count": 75, "id": "educated-winning", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "DatetimeIndex(['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04',\n", " '2021-01-05'],\n", " dtype='datetime64[ns]', freq='D')" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dates = pd.date_range(\"20210101\", periods=100)\n", "dates[0:5]" ] }, { "cell_type": "code", "execution_count": 76, "id": "later-grill", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
xy
2021-01-01-1.823644-1.357490
2021-01-020.4070330.140167
2021-01-03-0.2190901.195670
2021-01-041.2800750.955749
2021-01-051.201438-1.155646
\n", "
" ], "text/plain": [ " x y\n", "2021-01-01 -1.823644 -1.357490\n", "2021-01-02 0.407033 0.140167\n", "2021-01-03 -0.219090 1.195670\n", "2021-01-04 1.280075 0.955749\n", "2021-01-05 1.201438 -1.155646" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.DataFrame(np.random.randn(100, 2), columns=['x', 'y'], index=dates)\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 78, "id": "metric-mounting", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df.plot();" ] }, { "cell_type": "code", "execution_count": 6, "id": "shared-valley", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
xy
2021-02-11-0.135543-1.036254
2021-02-122.0167050.791184
2021-02-130.656834-0.423262
2021-02-14-0.6308411.101213
2021-02-151.6848711.491705
\n", "
" ], "text/plain": [ " x y\n", "2021-02-11 -0.135543 -1.036254\n", "2021-02-12 2.016705 0.791184\n", "2021-02-13 0.656834 -0.423262\n", "2021-02-14 -0.630841 1.101213\n", "2021-02-15 1.684871 1.491705" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['2021-02-11':'2021-02-15']" ] }, { "cell_type": "code", "execution_count": 7, "id": "agreed-productivity", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
xy
2021-01-01-1.0771200.342451
2021-01-030.071963-0.305716
2021-01-040.4692400.098572
2021-01-06-0.333955-0.482170
2021-01-08-0.384534-0.758705
.........
2021-04-06-0.9071232.424140
2021-04-07-0.2804480.262274
2021-04-08-0.4770092.236021
2021-04-09-0.1410622.128535
2021-04-10-0.301844-1.010541
\n", "

67 rows × 2 columns

\n", "
" ], "text/plain": [ " x y\n", "2021-01-01 -1.077120 0.342451\n", "2021-01-03 0.071963 -0.305716\n", "2021-01-04 0.469240 0.098572\n", "2021-01-06 -0.333955 -0.482170\n", "2021-01-08 -0.384534 -0.758705\n", "... ... ...\n", "2021-04-06 -0.907123 2.424140\n", "2021-04-07 -0.280448 0.262274\n", "2021-04-08 -0.477009 2.236021\n", "2021-04-09 -0.141062 2.128535\n", "2021-04-10 -0.301844 -1.010541\n", "\n", "[67 rows x 2 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[df.x < 0.5]" ] }, { "cell_type": "code", "execution_count": 8, "id": "damaged-channel", "metadata": {}, "outputs": [], "source": [ "df['label'] = [chr(97 + int(num)) for num in abs(df.x.values) * 10]" ] }, { "cell_type": "code", "execution_count": 9, "id": "flexible-butter", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
xylabel
2021-01-01-1.0771200.342451k
2021-01-022.7230080.196346|
2021-01-030.071963-0.305716a
2021-01-040.4692400.098572e
2021-01-051.2261761.319617m
\n", "
" ], "text/plain": [ " x y label\n", "2021-01-01 -1.077120 0.342451 k\n", "2021-01-02 2.723008 0.196346 |\n", "2021-01-03 0.071963 -0.305716 a\n", "2021-01-04 0.469240 0.098572 e\n", "2021-01-05 1.226176 1.319617 m" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 10, "id": "bibliographic-winning", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
xylabel
2021-01-030.071963-0.305716a
2021-02-250.0915951.604293a
2021-03-120.088501-0.170577a
2021-03-310.0266160.661760a
2021-04-010.096728-2.732678a
\n", "
" ], "text/plain": [ " x y label\n", "2021-01-03 0.071963 -0.305716 a\n", "2021-02-25 0.091595 1.604293 a\n", "2021-03-12 0.088501 -0.170577 a\n", "2021-03-31 0.026616 0.661760 a\n", "2021-04-01 0.096728 -2.732678 a" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[df.label == 'a']" ] }, { "cell_type": "code", "execution_count": 11, "id": "designed-watson", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df.loc[df.label == 'a'].plot('x', 'y', kind='scatter');" ] }, { "cell_type": "code", "execution_count": 17, "id": "crazy-count", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.groupby(by=df[\"label\"])" ] }, { "cell_type": "code", "execution_count": 16, "id": "celtic-chassis", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
xy
label
a0.375404-0.942918
b0.057332-0.963949
c0.211865-2.870494
d0.435584-3.043571
e-0.3275974.056683
f1.2482950.227028
g0.6996171.612593
h0.7397510.201644
i0.925425-1.960625
j-1.9768306.748663
k0.016653-0.549432
l1.077869-3.301742
m-0.0670731.604039
n-4.061371-1.622024
o4.2955360.009890
p-1.506907-0.548990
q5.0028020.754617
r0.0055352.562163
t-1.9845811.133631
u2.0167050.791184
v-0.0186093.506080
x2.366788-0.014051
|2.7230080.196346
\n", "
" ], "text/plain": [ " x y\n", "label \n", "a 0.375404 -0.942918\n", "b 0.057332 -0.963949\n", "c 0.211865 -2.870494\n", "d 0.435584 -3.043571\n", "e -0.327597 4.056683\n", "f 1.248295 0.227028\n", "g 0.699617 1.612593\n", "h 0.739751 0.201644\n", "i 0.925425 -1.960625\n", "j -1.976830 6.748663\n", "k 0.016653 -0.549432\n", "l 1.077869 -3.301742\n", "m -0.067073 1.604039\n", "n -4.061371 -1.622024\n", "o 4.295536 0.009890\n", "p -1.506907 -0.548990\n", "q 5.002802 0.754617\n", "r 0.005535 2.562163\n", "t -1.984581 1.133631\n", "u 2.016705 0.791184\n", "v -0.018609 3.506080\n", "x 2.366788 -0.014051\n", "| 2.723008 0.196346" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.groupby(by=df[\"label\"]).sum()" ] }, { "cell_type": "code", "execution_count": 63, "id": "incorrect-albania", "metadata": {}, "outputs": [], "source": [ "df1 = pd.DataFrame(np.random.randn(5, 2), columns=['x', 'y'])\n", "df2 = pd.DataFrame(np.random.randn(5, 2), columns=['x', 'y'])" ] }, { "cell_type": "code", "execution_count": 64, "id": "amber-clinton", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
xy
01.0654470.508669
1-0.1112000.029376
20.251230-0.855050
3-0.206806-1.267250
4-0.195877-0.586469
\n", "
" ], "text/plain": [ " x y\n", "0 1.065447 0.508669\n", "1 -0.111200 0.029376\n", "2 0.251230 -0.855050\n", "3 -0.206806 -1.267250\n", "4 -0.195877 -0.586469" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df1" ] }, { "cell_type": "code", "execution_count": 65, "id": "recovered-arbor", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
xy
01.879820-1.054090
10.834352-2.434033
2-0.9151623.600316
3-0.7817190.633350
4-0.003787-0.752671
\n", "
" ], "text/plain": [ " x y\n", "0 1.879820 -1.054090\n", "1 0.834352 -2.434033\n", "2 -0.915162 3.600316\n", "3 -0.781719 0.633350\n", "4 -0.003787 -0.752671" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2" ] }, { "cell_type": "code", "execution_count": 71, "id": "acute-minister", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
xy
01.0654470.508669
1-0.1112000.029376
20.251230-0.855050
3-0.206806-1.267250
4-0.195877-0.586469
51.879820-1.054090
60.834352-2.434033
7-0.9151623.600316
8-0.7817190.633350
9-0.003787-0.752671
\n", "
" ], "text/plain": [ " x y\n", "0 1.065447 0.508669\n", "1 -0.111200 0.029376\n", "2 0.251230 -0.855050\n", "3 -0.206806 -1.267250\n", "4 -0.195877 -0.586469\n", "5 1.879820 -1.054090\n", "6 0.834352 -2.434033\n", "7 -0.915162 3.600316\n", "8 -0.781719 0.633350\n", "9 -0.003787 -0.752671" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.concat([df1, df2], ignore_index=True)" ] }, { "cell_type": "code", "execution_count": 72, "id": "unsigned-prime", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
\n", "
" ], "text/plain": [ " PassengerId Survived Pclass \\\n", "0 1 0 3 \n", "1 2 1 1 \n", "2 3 1 3 \n", "3 4 1 1 \n", "4 5 0 3 \n", "\n", " Name Sex Age SibSp \\\n", "0 Braund, Mr. Owen Harris male 22.0 1 \n", "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", "2 Heikkinen, Miss. Laina female 26.0 0 \n", "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", "4 Allen, Mr. William Henry male 35.0 0 \n", "\n", " Parch Ticket Fare Cabin Embarked \n", "0 0 A/5 21171 7.2500 NaN S \n", "1 0 PC 17599 71.2833 C85 C \n", "2 0 STON/O2. 3101282 7.9250 NaN S \n", "3 0 113803 53.1000 C123 S \n", "4 0 373450 8.0500 NaN S " ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_titanic = pd.read_csv('https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv')\n", "df_titanic.head()" ] }, { "cell_type": "code", "execution_count": 73, "id": "statewide-spectacular", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df_titanic_grouped = df_titanic.groupby('Embarked')\n", "\n", "(df_titanic_grouped.sum() / df_titanic_grouped.count()).plot.bar(\n", " y='Survived',\n", " ylabel='Passengers that survived per embarkment\\n(%)',\n", " xlabel='Port of Embarkation\\n(C = Cherbourg; Q = Queenstown; S = Southampton)'\n", ");" ] }, { "cell_type": "code", "execution_count": 25, "id": "beneficial-civilization", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\u001b[0;31mSignature:\u001b[0m\n", "\u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_csv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mUnion\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mstr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpathlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mPath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mIO\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m~\u001b[0m\u001b[0mAnyStr\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0msep\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m','\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mdelimiter\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mheader\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'infer'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mnames\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mindex_col\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0musecols\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0msqueeze\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mprefix\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mmangle_dupe_cols\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mengine\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mconverters\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mtrue_values\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mfalse_values\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mskipinitialspace\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mskiprows\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mskipfooter\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mnrows\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mna_values\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mkeep_default_na\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mna_filter\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mverbose\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mskip_blank_lines\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mparse_dates\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0minfer_datetime_format\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mkeep_date_col\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mdate_parser\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mdayfirst\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mcache_dates\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0miterator\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mchunksize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mcompression\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'infer'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mthousands\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mdecimal\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mstr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'.'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mlineterminator\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mquotechar\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'\"'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mquoting\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mdoublequote\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mescapechar\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mcomment\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mencoding\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mdialect\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0merror_bad_lines\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mwarn_bad_lines\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mdelim_whitespace\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mlow_memory\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mmemory_map\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mfloat_precision\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mDocstring:\u001b[0m\n", "Read a comma-separated values (csv) file into DataFrame.\n", "\n", "Also supports optionally iterating or breaking of the file\n", "into chunks.\n", "\n", "Additional help can be found in the online docs for\n", "`IO Tools `_.\n", "\n", "Parameters\n", "----------\n", "filepath_or_buffer : str, path object or file-like object\n", " Any valid string path is acceptable. The string could be a URL. Valid\n", " URL schemes include http, ftp, s3, gs, and file. For file URLs, a host is\n", " expected. A local file could be: file://localhost/path/to/table.csv.\n", "\n", " If you want to pass in a path object, pandas accepts any ``os.PathLike``.\n", "\n", " By file-like object, we refer to objects with a ``read()`` method, such as\n", " a file handler (e.g. via builtin ``open`` function) or ``StringIO``.\n", "sep : str, default ','\n", " Delimiter to use. If sep is None, the C engine cannot automatically detect\n", " the separator, but the Python parsing engine can, meaning the latter will\n", " be used and automatically detect the separator by Python's builtin sniffer\n", " tool, ``csv.Sniffer``. In addition, separators longer than 1 character and\n", " different from ``'\\s+'`` will be interpreted as regular expressions and\n", " will also force the use of the Python parsing engine. Note that regex\n", " delimiters are prone to ignoring quoted data. Regex example: ``'\\r\\t'``.\n", "delimiter : str, default ``None``\n", " Alias for sep.\n", "header : int, list of int, default 'infer'\n", " Row number(s) to use as the column names, and the start of the\n", " data. Default behavior is to infer the column names: if no names\n", " are passed the behavior is identical to ``header=0`` and column\n", " names are inferred from the first line of the file, if column\n", " names are passed explicitly then the behavior is identical to\n", " ``header=None``. Explicitly pass ``header=0`` to be able to\n", " replace existing names. The header can be a list of integers that\n", " specify row locations for a multi-index on the columns\n", " e.g. [0,1,3]. Intervening rows that are not specified will be\n", " skipped (e.g. 2 in this example is skipped). Note that this\n", " parameter ignores commented lines and empty lines if\n", " ``skip_blank_lines=True``, so ``header=0`` denotes the first line of\n", " data rather than the first line of the file.\n", "names : array-like, optional\n", " List of column names to use. If the file contains a header row,\n", " then you should explicitly pass ``header=0`` to override the column names.\n", " Duplicates in this list are not allowed.\n", "index_col : int, str, sequence of int / str, or False, default ``None``\n", " Column(s) to use as the row labels of the ``DataFrame``, either given as\n", " string name or column index. If a sequence of int / str is given, a\n", " MultiIndex is used.\n", "\n", " Note: ``index_col=False`` can be used to force pandas to *not* use the first\n", " column as the index, e.g. when you have a malformed file with delimiters at\n", " the end of each line.\n", "usecols : list-like or callable, optional\n", " Return a subset of the columns. If list-like, all elements must either\n", " be positional (i.e. integer indices into the document columns) or strings\n", " that correspond to column names provided either by the user in `names` or\n", " inferred from the document header row(s). For example, a valid list-like\n", " `usecols` parameter would be ``[0, 1, 2]`` or ``['foo', 'bar', 'baz']``.\n", " Element order is ignored, so ``usecols=[0, 1]`` is the same as ``[1, 0]``.\n", " To instantiate a DataFrame from ``data`` with element order preserved use\n", " ``pd.read_csv(data, usecols=['foo', 'bar'])[['foo', 'bar']]`` for columns\n", " in ``['foo', 'bar']`` order or\n", " ``pd.read_csv(data, usecols=['foo', 'bar'])[['bar', 'foo']]``\n", " for ``['bar', 'foo']`` order.\n", "\n", " If callable, the callable function will be evaluated against the column\n", " names, returning names where the callable function evaluates to True. An\n", " example of a valid callable argument would be ``lambda x: x.upper() in\n", " ['AAA', 'BBB', 'DDD']``. Using this parameter results in much faster\n", " parsing time and lower memory usage.\n", "squeeze : bool, default False\n", " If the parsed data only contains one column then return a Series.\n", "prefix : str, optional\n", " Prefix to add to column numbers when no header, e.g. 'X' for X0, X1, ...\n", "mangle_dupe_cols : bool, default True\n", " Duplicate columns will be specified as 'X', 'X.1', ...'X.N', rather than\n", " 'X'...'X'. Passing in False will cause data to be overwritten if there\n", " are duplicate names in the columns.\n", "dtype : Type name or dict of column -> type, optional\n", " Data type for data or columns. E.g. {'a': np.float64, 'b': np.int32,\n", " 'c': 'Int64'}\n", " Use `str` or `object` together with suitable `na_values` settings\n", " to preserve and not interpret dtype.\n", " If converters are specified, they will be applied INSTEAD\n", " of dtype conversion.\n", "engine : {'c', 'python'}, optional\n", " Parser engine to use. The C engine is faster while the python engine is\n", " currently more feature-complete.\n", "converters : dict, optional\n", " Dict of functions for converting values in certain columns. Keys can either\n", " be integers or column labels.\n", "true_values : list, optional\n", " Values to consider as True.\n", "false_values : list, optional\n", " Values to consider as False.\n", "skipinitialspace : bool, default False\n", " Skip spaces after delimiter.\n", "skiprows : list-like, int or callable, optional\n", " Line numbers to skip (0-indexed) or number of lines to skip (int)\n", " at the start of the file.\n", "\n", " If callable, the callable function will be evaluated against the row\n", " indices, returning True if the row should be skipped and False otherwise.\n", " An example of a valid callable argument would be ``lambda x: x in [0, 2]``.\n", "skipfooter : int, default 0\n", " Number of lines at bottom of file to skip (Unsupported with engine='c').\n", "nrows : int, optional\n", " Number of rows of file to read. Useful for reading pieces of large files.\n", "na_values : scalar, str, list-like, or dict, optional\n", " Additional strings to recognize as NA/NaN. If dict passed, specific\n", " per-column NA values. By default the following values are interpreted as\n", " NaN: '', '#N/A', '#N/A N/A', '#NA', '-1.#IND', '-1.#QNAN', '-NaN', '-nan',\n", " '1.#IND', '1.#QNAN', '', 'N/A', 'NA', 'NULL', 'NaN', 'n/a',\n", " 'nan', 'null'.\n", "keep_default_na : bool, default True\n", " Whether or not to include the default NaN values when parsing the data.\n", " Depending on whether `na_values` is passed in, the behavior is as follows:\n", "\n", " * If `keep_default_na` is True, and `na_values` are specified, `na_values`\n", " is appended to the default NaN values used for parsing.\n", " * If `keep_default_na` is True, and `na_values` are not specified, only\n", " the default NaN values are used for parsing.\n", " * If `keep_default_na` is False, and `na_values` are specified, only\n", " the NaN values specified `na_values` are used for parsing.\n", " * If `keep_default_na` is False, and `na_values` are not specified, no\n", " strings will be parsed as NaN.\n", "\n", " Note that if `na_filter` is passed in as False, the `keep_default_na` and\n", " `na_values` parameters will be ignored.\n", "na_filter : bool, default True\n", " Detect missing value markers (empty strings and the value of na_values). In\n", " data without any NAs, passing na_filter=False can improve the performance\n", " of reading a large file.\n", "verbose : bool, default False\n", " Indicate number of NA values placed in non-numeric columns.\n", "skip_blank_lines : bool, default True\n", " If True, skip over blank lines rather than interpreting as NaN values.\n", "parse_dates : bool or list of int or names or list of lists or dict, default False\n", " The behavior is as follows:\n", "\n", " * boolean. If True -> try parsing the index.\n", " * list of int or names. e.g. If [1, 2, 3] -> try parsing columns 1, 2, 3\n", " each as a separate date column.\n", " * list of lists. e.g. If [[1, 3]] -> combine columns 1 and 3 and parse as\n", " a single date column.\n", " * dict, e.g. {'foo' : [1, 3]} -> parse columns 1, 3 as date and call\n", " result 'foo'\n", "\n", " If a column or index cannot be represented as an array of datetimes,\n", " say because of an unparseable value or a mixture of timezones, the column\n", " or index will be returned unaltered as an object data type. For\n", " non-standard datetime parsing, use ``pd.to_datetime`` after\n", " ``pd.read_csv``. To parse an index or column with a mixture of timezones,\n", " specify ``date_parser`` to be a partially-applied\n", " :func:`pandas.to_datetime` with ``utc=True``. See\n", " :ref:`io.csv.mixed_timezones` for more.\n", "\n", " Note: A fast-path exists for iso8601-formatted dates.\n", "infer_datetime_format : bool, default False\n", " If True and `parse_dates` is enabled, pandas will attempt to infer the\n", " format of the datetime strings in the columns, and if it can be inferred,\n", " switch to a faster method of parsing them. In some cases this can increase\n", " the parsing speed by 5-10x.\n", "keep_date_col : bool, default False\n", " If True and `parse_dates` specifies combining multiple columns then\n", " keep the original columns.\n", "date_parser : function, optional\n", " Function to use for converting a sequence of string columns to an array of\n", " datetime instances. The default uses ``dateutil.parser.parser`` to do the\n", " conversion. Pandas will try to call `date_parser` in three different ways,\n", " advancing to the next if an exception occurs: 1) Pass one or more arrays\n", " (as defined by `parse_dates`) as arguments; 2) concatenate (row-wise) the\n", " string values from the columns defined by `parse_dates` into a single array\n", " and pass that; and 3) call `date_parser` once for each row using one or\n", " more strings (corresponding to the columns defined by `parse_dates`) as\n", " arguments.\n", "dayfirst : bool, default False\n", " DD/MM format dates, international and European format.\n", "cache_dates : bool, default True\n", " If True, use a cache of unique, converted dates to apply the datetime\n", " conversion. May produce significant speed-up when parsing duplicate\n", " date strings, especially ones with timezone offsets.\n", "\n", " .. versionadded:: 0.25.0\n", "iterator : bool, default False\n", " Return TextFileReader object for iteration or getting chunks with\n", " ``get_chunk()``.\n", "chunksize : int, optional\n", " Return TextFileReader object for iteration.\n", " See the `IO Tools docs\n", " `_\n", " for more information on ``iterator`` and ``chunksize``.\n", "compression : {'infer', 'gzip', 'bz2', 'zip', 'xz', None}, default 'infer'\n", " For on-the-fly decompression of on-disk data. If 'infer' and\n", " `filepath_or_buffer` is path-like, then detect compression from the\n", " following extensions: '.gz', '.bz2', '.zip', or '.xz' (otherwise no\n", " decompression). If using 'zip', the ZIP file must contain only one data\n", " file to be read in. Set to None for no decompression.\n", "thousands : str, optional\n", " Thousands separator.\n", "decimal : str, default '.'\n", " Character to recognize as decimal point (e.g. use ',' for European data).\n", "lineterminator : str (length 1), optional\n", " Character to break file into lines. Only valid with C parser.\n", "quotechar : str (length 1), optional\n", " The character used to denote the start and end of a quoted item. Quoted\n", " items can include the delimiter and it will be ignored.\n", "quoting : int or csv.QUOTE_* instance, default 0\n", " Control field quoting behavior per ``csv.QUOTE_*`` constants. Use one of\n", " QUOTE_MINIMAL (0), QUOTE_ALL (1), QUOTE_NONNUMERIC (2) or QUOTE_NONE (3).\n", "doublequote : bool, default ``True``\n", " When quotechar is specified and quoting is not ``QUOTE_NONE``, indicate\n", " whether or not to interpret two consecutive quotechar elements INSIDE a\n", " field as a single ``quotechar`` element.\n", "escapechar : str (length 1), optional\n", " One-character string used to escape other characters.\n", "comment : str, optional\n", " Indicates remainder of line should not be parsed. If found at the beginning\n", " of a line, the line will be ignored altogether. This parameter must be a\n", " single character. Like empty lines (as long as ``skip_blank_lines=True``),\n", " fully commented lines are ignored by the parameter `header` but not by\n", " `skiprows`. For example, if ``comment='#'``, parsing\n", " ``#empty\\na,b,c\\n1,2,3`` with ``header=0`` will result in 'a,b,c' being\n", " treated as the header.\n", "encoding : str, optional\n", " Encoding to use for UTF when reading/writing (ex. 'utf-8'). `List of Python\n", " standard encodings\n", " `_ .\n", "dialect : str or csv.Dialect, optional\n", " If provided, this parameter will override values (default or not) for the\n", " following parameters: `delimiter`, `doublequote`, `escapechar`,\n", " `skipinitialspace`, `quotechar`, and `quoting`. If it is necessary to\n", " override values, a ParserWarning will be issued. See csv.Dialect\n", " documentation for more details.\n", "error_bad_lines : bool, default True\n", " Lines with too many fields (e.g. a csv line with too many commas) will by\n", " default cause an exception to be raised, and no DataFrame will be returned.\n", " If False, then these \"bad lines\" will dropped from the DataFrame that is\n", " returned.\n", "warn_bad_lines : bool, default True\n", " If error_bad_lines is False, and warn_bad_lines is True, a warning for each\n", " \"bad line\" will be output.\n", "delim_whitespace : bool, default False\n", " Specifies whether or not whitespace (e.g. ``' '`` or ``' '``) will be\n", " used as the sep. Equivalent to setting ``sep='\\s+'``. If this option\n", " is set to True, nothing should be passed in for the ``delimiter``\n", " parameter.\n", "low_memory : bool, default True\n", " Internally process the file in chunks, resulting in lower memory use\n", " while parsing, but possibly mixed type inference. To ensure no mixed\n", " types either set False, or specify the type with the `dtype` parameter.\n", " Note that the entire file is read into a single DataFrame regardless,\n", " use the `chunksize` or `iterator` parameter to return the data in chunks.\n", " (Only valid with C parser).\n", "memory_map : bool, default False\n", " If a filepath is provided for `filepath_or_buffer`, map the file object\n", " directly onto memory and access the data directly from there. Using this\n", " option can improve performance because there is no longer any I/O overhead.\n", "float_precision : str, optional\n", " Specifies which converter the C engine should use for floating-point\n", " values. The options are `None` for the ordinary converter,\n", " `high` for the high-precision converter, and `round_trip` for the\n", " round-trip converter.\n", "\n", "Returns\n", "-------\n", "DataFrame or TextParser\n", " A comma-separated values (csv) file is returned as two-dimensional\n", " data structure with labeled axes.\n", "\n", "See Also\n", "--------\n", "DataFrame.to_csv : Write DataFrame to a comma-separated values (csv) file.\n", "read_csv : Read a comma-separated values (csv) file into DataFrame.\n", "read_fwf : Read a table of fixed-width formatted lines into DataFrame.\n", "\n", "Examples\n", "--------\n", ">>> pd.read_csv('data.csv') # doctest: +SKIP\n", "\u001b[0;31mFile:\u001b[0m ~/miniconda3/envs/pangeo/lib/python3.8/site-packages/pandas/io/parsers.py\n", "\u001b[0;31mType:\u001b[0m function\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pd.read_csv?" ] }, { "cell_type": "markdown", "id": "powerful-chain", "metadata": {}, "source": [ "For more information, see the [documentation](https://pandas.pydata.org/)." ] }, { "cell_type": "code", "execution_count": null, "id": "charitable-philippines", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "pangeo", "language": "python", "name": "pangeo" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.6" } }, "nbformat": 4, "nbformat_minor": 5 }