Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging with master #1

Merged
merged 87 commits into from
Oct 3, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
8a1c8ad
TST: Mock clipboard IO (#22715)
TomAugspurger Sep 16, 2018
6ecb942
removing superfluous reference to axis in Series.reorder_levels docst…
SandrineP Sep 17, 2018
9e2039b
CLN/DOC: Refactor timeseries.rst intro and overview (#22728)
mroeschke Sep 17, 2018
249f0ee
CLN: Remove unused imports in pyx files (#22739)
mroeschke Sep 18, 2018
9e99299
CLN: Removes module pandas.json (#22737)
vitoriahmc Sep 18, 2018
712c8b1
TST/CLN: remove duplicate data file used in tests (unicode_series.csv…
simonjayhawkins Sep 18, 2018
c6f7e86
BUG: Some sas7bdat files with many columns are not parseable by read_…
troels Sep 18, 2018
654ff52
DOC: improve doc string for .aggregate and .transform (#22641)
topper-123 Sep 18, 2018
33f38b9
BUG: DataFrame.apply not adding a frequency if freq=None (#22150) (#2…
HannahFerch Sep 18, 2018
1542d29
[ENH] pull in warning for dialect change from pandas-gbq. (#22557)
tswast Sep 18, 2018
9dd454e
DOC: Updating str_repeat docstring (#22571)
JesperDramsch Sep 18, 2018
6151ba6
use fused types for reshape (#22454)
jbrockmendel Sep 18, 2018
8ff8f90
use fused types for parts of algos_common_helper (#22452)
jbrockmendel Sep 18, 2018
c994e80
DOC: Updating the docstring of Series.str.extractall (#22565)
lucadonini96 Sep 18, 2018
d39249a
BUG: don't mangle NaN-float-values and pd.NaT (GH 22295) (#22296)
realead Sep 18, 2018
c44581f
DOC: Expose ExcelWriter as part of the Generated API (#22359)
newinh Sep 18, 2018
ace341e
Test in scripts/validate_docstrings.py that the short summary is alwa…
Moisan Sep 18, 2018
dbb767c
fix raise of TypeError when subtracting timedelta array (#22054)
illegalnumbers Sep 18, 2018
4e0b636
Bug: Logical operator of Series with Index (#22092) (#22293)
makbigc Sep 18, 2018
fc25f7d
DOC: Fix Series nsmallest and nlargest docstring/doctests (#22731)
Moisan Sep 18, 2018
2670494
Fixturize tests/frame/test_api and tests/sparse/frame/test_frame (#22…
h-vetinari Sep 18, 2018
79f7762
BUG SeriesGroupBy.mean() overflowed on some integer array (#22653)
troels Sep 18, 2018
1a12c41
TST: Fail on warning (#22699)
TomAugspurger Sep 18, 2018
bf29988
BUG: Allow IOErrors when attempting to retrieve default client encodi…
JayOfferdahl Sep 19, 2018
9f4ccb5
API: Git version (#22745)
alimcmaster1 Sep 19, 2018
51aeba4
DOC: add more links to the API in advanced.rst (#22746)
topper-123 Sep 19, 2018
d923385
DOC: Fix DataFrame.to_xarray doctests and allow the CI to run it. (#2…
Moisan Sep 19, 2018
f6ce3e7
Set up CI with Azure Pipelines (#22760)
azure-pipelines[bot] Sep 19, 2018
40dfadd
CI: Fix travis CI (#22765)
TomAugspurger Sep 19, 2018
f87fe14
CI: Publish test summary (#22770)
TomAugspurger Sep 19, 2018
1c113db
BUG: Check types in Index.__contains__ (#22085) (#22602)
yeojin-dev Sep 19, 2018
117d0b1
BUG: Empty CategoricalIndex fails with boolean categories (#22710)
pganssle Sep 20, 2018
e568fb0
is_bool_dtype for ExtensionArrays (#22667)
TomAugspurger Sep 20, 2018
793b24e
DOC: Fix outdated default values in util.testing docstrings (#22776)
dargueta Sep 20, 2018
32a74f1
DOC: Reorders DataFrame.any and all docstrings (#22774)
jrbourbeau Sep 20, 2018
0480f4c
ENH: _is_homogeneous (#22780)
TomAugspurger Sep 20, 2018
8a1164c
Enforce E741 (#22795)
alimcmaster1 Sep 20, 2018
f8c5705
ENH: Making header_style a property of ExcelFormatter #22758 (#22759)
dannyhyunkim Sep 20, 2018
4612a82
API/DEPR: 'periods' argument instead of 'n' for DatetimeIndex.shift()…
arminv Sep 20, 2018
bdb7a16
ENH: Add support for excluding the index from Parquet files (GH20768)…
dargueta Sep 21, 2018
fb784ca
DOC: Updated the DataFrame.assign docstring (#21917)
aeltanawy Sep 22, 2018
f65fa75
BUG: Avoid AmbiguousTime or NonExistentTime Error when resampling (#2…
mroeschke Sep 23, 2018
945bf75
TST: Fixturize series/test_asof.py (#22772)
Anjali2019 Sep 23, 2018
f67b90d
BUG/ENH: Handle AmbiguousTimeError in date rounding (#22647)
mroeschke Sep 23, 2018
e5a99c6
Fix Series v Index bool ops (#22173)
jbrockmendel Sep 23, 2018
27de8e6
TST: Fixturize series/test_apply.py (#22769)
Anjali2019 Sep 23, 2018
4cc0a71
DOC: Fix DataFrame.to_csv docstring and add an example. GH22459 (#22475)
Moisan Sep 23, 2018
44a9b16
TST/CLN: Fixturize tests/frame/test_apply (#22735)
h-vetinari Sep 23, 2018
2ab57b2
BUG:reorder type check/conversion so wide_to_long handles str arg for…
csmcallister Sep 23, 2018
64b88e8
BUG: read_table and read_csv crash (#22750)
troels Sep 24, 2018
3ab9dbd
DOC: fixup spacing in to_csv docstring (GH22475) (#22816)
jorisvandenbossche Sep 24, 2018
183a416
TST: Fixturize series/test_validate.py (#22756)
Anjali2019 Sep 25, 2018
2b5477e
Add Azure Pipelines badge to readme (#22828)
zooba Sep 25, 2018
ea83ccc
DOC: remove appveyor badge from readme (#22829)
jreback Sep 25, 2018
30b942a
Fix DataFrame.to_string() justification (2) (#22505)
gshiba Sep 25, 2018
1c4130d
BUG: nlargest/nsmallest gave wrong result (#22752) (#22754)
troels Sep 25, 2018
302d43a
DOC: fix DataFrame.isin docstring and doctests (#22767)
Moisan Sep 25, 2018
6b1f460
ERR: Clarify location of EOF on unbalanced quotes (#22814)
gfyoung Sep 25, 2018
a936399
DOC: Updating str_pad docstring (#22570)
JesperDramsch Sep 25, 2018
4a459b8
Fixturize tests/frame/test_arithmetic (#22736)
h-vetinari Sep 26, 2018
a393675
ENH: correlation function accepts method being a callable (#22684)
shadiakiki1986 Sep 26, 2018
739e6be
Fixed Issue Preventing Agg on RollingGroupBy Objects (#21323)
WillAyd Sep 26, 2018
f64f994
DOC: Updating Series.autocorr docstring (#22787)
HubertKl Sep 26, 2018
9df8065
Preserve Extension type on cross section (#22785)
TomAugspurger Sep 26, 2018
a03d953
DOC: Fix warnings in doc build (#22838)
TomAugspurger Sep 26, 2018
7343fd3
DOC: Handle whitespace in pathnames (#20880)
thiviyanT Sep 26, 2018
a851401
DOC iteritems docstring update and examples (#22658)
Ecboxer Sep 27, 2018
d115900
STYLE: lint
jreback Sep 27, 2018
e45a6c1
COMPAT: mpl 3.0 (#22870)
TomAugspurger Sep 28, 2018
f771ef6
BLD: Drop nonexistent dependency of _libs/parsers (#22883)
gfyoung Sep 29, 2018
f849134
Updating `DataFrame.mode` docstring. (#22404)
datapythonista Sep 30, 2018
14598c6
STYLE: Fix linting of benchmarks (#22886)
MatanCohe Sep 30, 2018
f4fae35
BLD: minor break ci/requirements-optional-pip.txt (#22889)
minggli Sep 30, 2018
2f1b842
DOC: Fixes to the Japanese version of the cheatsheet (#22657)
KangYoosam Sep 30, 2018
4226d74
STYLE: Added explicit exceptions (#22907)
NeuralFlux Oct 1, 2018
b92b043
Loc enhancements (#22826)
rtlee9 Oct 1, 2018
f021bbc
Fix Timestamp.round errors (#22802)
miccoli Oct 1, 2018
a277e4a
BUG: Merge timezone aware data with DST (#22825)
mroeschke Oct 1, 2018
5ce06b5
BUG: to_datetime preserves name of Index argument in the result (#22…
mroeschke Oct 1, 2018
6247da0
Provide default implementation for `data_repated` (#22935)
TomAugspurger Oct 2, 2018
1d9f76c
CLN: remove Index._to_embed (#22879)
jorisvandenbossche Oct 2, 2018
9caf048
CI: change windows vm image (#22948)
TomAugspurger Oct 2, 2018
1102a33
DOC/CLN: clean-up shared_docs in generic.py (#20074)
jorisvandenbossche Oct 2, 2018
8e749a3
CLN GH22874 replace bare excepts in pandas/io/pytables.py (#22919)
pambot Oct 2, 2018
c44bad2
CLN GH22873 Replace base excepts in pandas/core (#22901)
pambot Oct 2, 2018
08ecba8
BUG: fix DataFrame+DataFrame op with timedelta64 dtype (#22696)
jbrockmendel Oct 2, 2018
b0f9a10
DOC GH22893 Fix docstring of groupby in pandas/core/generic.py (#22920)
tonytao2012 Oct 3, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .pep8speaks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,4 @@ pycodestyle:
ignore: # Errors and warnings to ignore
- E402, # module level import not at top of file
- E731, # do not assign a lambda expression, use a def
- E741, # do not use variables named 'l', 'O', or 'I'
- W503 # line break before binary operator
10 changes: 3 additions & 7 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,8 @@ matrix:
exclude:
# Exclude the default Python 3.5 build
- python: 3.5
include:
- os: osx
language: generic
env:
- JOB="3.5, OSX" ENV_FILE="ci/travis-35-osx.yaml" TEST_ARGS="--skip-slow --skip-network"

include:
- dist: trusty
env:
- JOB="3.7" ENV_FILE="ci/travis-37.yaml" TEST_ARGS="--skip-slow --skip-network"
Expand Down Expand Up @@ -64,7 +60,7 @@ matrix:
# In allow_failures
- dist: trusty
env:
- JOB="3.6, NumPy dev" ENV_FILE="ci/travis-36-numpydev.yaml" TEST_ARGS="--skip-slow --skip-network" PANDAS_TESTING_MODE="deprecate"
- JOB="3.7, NumPy dev" ENV_FILE="ci/travis-37-numpydev.yaml" TEST_ARGS="--skip-slow --skip-network -W error" PANDAS_TESTING_MODE="deprecate"
addons:
apt:
packages:
Expand All @@ -79,7 +75,7 @@ matrix:
- JOB="3.6, slow" ENV_FILE="ci/travis-36-slow.yaml" SLOW=true
- dist: trusty
env:
- JOB="3.6, NumPy dev" ENV_FILE="ci/travis-36-numpydev.yaml" TEST_ARGS="--skip-slow --skip-network" PANDAS_TESTING_MODE="deprecate"
- JOB="3.7, NumPy dev" ENV_FILE="ci/travis-37-numpydev.yaml" TEST_ARGS="--skip-slow --skip-network -W error" PANDAS_TESTING_MODE="deprecate"
addons:
apt:
packages:
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@
<tr>
<td></td>
<td>
<a href="https://ci.appveyor.com/project/pandas-dev/pandas">
<img src="https://ci.appveyor.com/api/projects/status/86vn83mxgnl4xf1s/branch/master?svg=true" alt="appveyor build status" />
<a href="https://dev.azure.com/pandas-dev/pandas/_build/latest?definitionId=1&branch=master">
<img src="https://dev.azure.com/pandas-dev/pandas/_apis/build/status/pandas-dev.pandas?branch=master" alt="Azure Pipelines build status" />
</a>
</td>
</tr>
Expand Down
91 changes: 0 additions & 91 deletions appveyor.yml

This file was deleted.

2 changes: 1 addition & 1 deletion asv_bench/benchmarks/algorithms.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
try:
hashing = import_module(imp)
break
except:
except (ImportError, TypeError, ValueError):
pass

from .pandas_vb_common import setup # noqa
Expand Down
13 changes: 10 additions & 3 deletions asv_bench/benchmarks/frame_methods.py
Original file line number Diff line number Diff line change
Expand Up @@ -505,14 +505,21 @@ class NSort(object):
param_names = ['keep']

def setup(self, keep):
self.df = DataFrame(np.random.randn(1000, 3), columns=list('ABC'))
self.df = DataFrame(np.random.randn(100000, 3),
columns=list('ABC'))

def time_nlargest(self, keep):
def time_nlargest_one_column(self, keep):
self.df.nlargest(100, 'A', keep=keep)

def time_nsmallest(self, keep):
def time_nlargest_two_columns(self, keep):
self.df.nlargest(100, ['A', 'B'], keep=keep)

def time_nsmallest_one_column(self, keep):
self.df.nsmallest(100, 'A', keep=keep)

def time_nsmallest_two_columns(self, keep):
self.df.nsmallest(100, ['A', 'B'], keep=keep)


class Describe(object):

Expand Down
75 changes: 45 additions & 30 deletions asv_bench/benchmarks/indexing.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,95 +11,110 @@
class NumericSeriesIndexing(object):

goal_time = 0.2
params = [Int64Index, Float64Index]
param = ['index']
params = [
(Int64Index, Float64Index),
('unique_monotonic_inc', 'nonunique_monotonic_inc'),
]
param_names = ['index_dtype', 'index_structure']

def setup(self, index):
def setup(self, index, index_structure):
N = 10**6
idx = index(range(N))
self.data = Series(np.random.rand(N), index=idx)
indices = {
'unique_monotonic_inc': index(range(N)),
'nonunique_monotonic_inc': index(
list(range(55)) + [54] + list(range(55, N - 1))),
}
self.data = Series(np.random.rand(N), index=indices[index_structure])
self.array = np.arange(10000)
self.array_list = self.array.tolist()

def time_getitem_scalar(self, index):
def time_getitem_scalar(self, index, index_structure):
self.data[800000]

def time_getitem_slice(self, index):
def time_getitem_slice(self, index, index_structure):
self.data[:800000]

def time_getitem_list_like(self, index):
def time_getitem_list_like(self, index, index_structure):
self.data[[800000]]

def time_getitem_array(self, index):
def time_getitem_array(self, index, index_structure):
self.data[self.array]

def time_getitem_lists(self, index):
def time_getitem_lists(self, index, index_structure):
self.data[self.array_list]

def time_iloc_array(self, index):
def time_iloc_array(self, index, index_structure):
self.data.iloc[self.array]

def time_iloc_list_like(self, index):
def time_iloc_list_like(self, index, index_structure):
self.data.iloc[[800000]]

def time_iloc_scalar(self, index):
def time_iloc_scalar(self, index, index_structure):
self.data.iloc[800000]

def time_iloc_slice(self, index):
def time_iloc_slice(self, index, index_structure):
self.data.iloc[:800000]

def time_ix_array(self, index):
def time_ix_array(self, index, index_structure):
self.data.ix[self.array]

def time_ix_list_like(self, index):
def time_ix_list_like(self, index, index_structure):
self.data.ix[[800000]]

def time_ix_scalar(self, index):
def time_ix_scalar(self, index, index_structure):
self.data.ix[800000]

def time_ix_slice(self, index):
def time_ix_slice(self, index, index_structure):
self.data.ix[:800000]

def time_loc_array(self, index):
def time_loc_array(self, index, index_structure):
self.data.loc[self.array]

def time_loc_list_like(self, index):
def time_loc_list_like(self, index, index_structure):
self.data.loc[[800000]]

def time_loc_scalar(self, index):
def time_loc_scalar(self, index, index_structure):
self.data.loc[800000]

def time_loc_slice(self, index):
def time_loc_slice(self, index, index_structure):
self.data.loc[:800000]


class NonNumericSeriesIndexing(object):

goal_time = 0.2
params = ['string', 'datetime']
param_names = ['index']
params = [
('string', 'datetime'),
('unique_monotonic_inc', 'nonunique_monotonic_inc'),
]
param_names = ['index_dtype', 'index_structure']

def setup(self, index):
N = 10**5
def setup(self, index, index_structure):
N = 10**6
indexes = {'string': tm.makeStringIndex(N),
'datetime': date_range('1900', periods=N, freq='s')}
index = indexes[index]
if index_structure == 'nonunique_monotonic_inc':
index = index.insert(item=index[2], loc=2)[:-1]
self.s = Series(np.random.rand(N), index=index)
self.lbl = index[80000]

def time_getitem_label_slice(self, index):
def time_getitem_label_slice(self, index, index_structure):
self.s[:self.lbl]

def time_getitem_pos_slice(self, index):
def time_getitem_pos_slice(self, index, index_structure):
self.s[:80000]

def time_get_value(self, index):
def time_get_value(self, index, index_structure):
with warnings.catch_warnings(record=True):
self.s.get_value(self.lbl)

def time_getitem_scalar(self, index):
def time_getitem_scalar(self, index, index_structure):
self.s[self.lbl]

def time_getitem_list_like(self, index, index_structure):
self.s[[self.lbl]]


class DataFrameStringIndexing(object):

Expand Down
6 changes: 2 additions & 4 deletions asv_bench/benchmarks/io/csv.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
import random
import timeit
import string

import numpy as np
import pandas.util.testing as tm
from pandas import DataFrame, Categorical, date_range, read_csv
from pandas.compat import PY2
from pandas.compat import cStringIO as StringIO

from ..pandas_vb_common import setup, BaseIO # noqa
Expand Down Expand Up @@ -181,8 +179,8 @@ def time_read_csv(self, sep, decimal, float_precision):
names=list('abc'), float_precision=float_precision)

def time_read_csv_python_engine(self, sep, decimal, float_precision):
read_csv(self.data(self.StringIO_input), sep=sep, header=None, engine='python',
float_precision=None, names=list('abc'))
read_csv(self.data(self.StringIO_input), sep=sep, header=None,
engine='python', float_precision=None, names=list('abc'))


class ReadCSVCategorical(BaseIO):
Expand Down
2 changes: 1 addition & 1 deletion asv_bench/benchmarks/join_merge.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ def setup(self):
try:
with warnings.catch_warnings(record=True):
self.mdf1.consolidate(inplace=True)
except:
except (AttributeError, TypeError):
pass
self.mdf2 = self.mdf1.copy()
self.mdf2.index = self.df2.index
Expand Down
5 changes: 2 additions & 3 deletions asv_bench/benchmarks/pandas_vb_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,13 @@
from importlib import import_module

import numpy as np
from pandas import Panel

# Compatibility import for lib
for imp in ['pandas._libs.lib', 'pandas.lib']:
try:
lib = import_module(imp)
break
except:
except (ImportError, TypeError, ValueError):
pass

numeric_dtypes = [np.int64, np.int32, np.uint32, np.uint64, np.float32,
Expand All @@ -34,7 +33,7 @@ def remove(self, f):
"""Remove created files"""
try:
os.remove(f)
except:
except OSError:
# On Windows, attempting to remove a file that is in use
# causes an exception to be raised
pass
Expand Down
4 changes: 2 additions & 2 deletions asv_bench/benchmarks/stat_ops.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ def setup(self, op, dtype, axis, use_bottleneck):
df = pd.DataFrame(np.random.randn(100000, 4)).astype(dtype)
try:
pd.options.compute.use_bottleneck = use_bottleneck
except:
except TypeError:
from pandas.core import nanops
nanops._USE_BOTTLENECK = use_bottleneck
self.df_func = getattr(df, op)
Expand Down Expand Up @@ -56,7 +56,7 @@ def setup(self, op, dtype, use_bottleneck):
s = pd.Series(np.random.randn(100000)).astype(dtype)
try:
pd.options.compute.use_bottleneck = use_bottleneck
except:
except TypeError:
from pandas.core import nanops
nanops._USE_BOTTLENECK = use_bottleneck
self.s_func = getattr(s, op)
Expand Down
1 change: 0 additions & 1 deletion asv_bench/benchmarks/timeseries.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import warnings
from datetime import timedelta

import numpy as np
Expand Down
Loading