Issue 1:
Groupby Pct_change Bug Report

from io import StringIO
import pandas as pd

txt = StringIO("""Group;Date;Value
A ;01-02-2016 ;16
A ;01-03-2016 ;15
A ;01-04-2016 ;14
A ;01-05-2016 ;17
A ;01-06-2016 ;19
A ;01-07-2016 ;20
B ;01-02-2016 ;16
B ;01-03-2016 ;13
B ;01-04-2016 ;13
C ;01-02-2016 ;16
C ;01-03-2016 ;16 """)

df = pd.read_table(txt,sep=';',parse_dates=[1])
d1 = df.set_index(['Date', 'Group']).Value
d2 = d1.groupby(level='Group').pct_change()
print(d2)

Problem description

I tried to calculate value changes by group in pandas , according this stackoverflow answer, https://stackoverflow.com/questions/41453325/python-pandas-groupby-calculate-change

the expected result should be

Expected Output

Date Group
2016-01-02 A NaN
2016-01-03 A -0.062500
2016-01-04 A -0.066667
2016-01-05 A 0.214286
2016-01-06 A 0.117647
2016-01-07 A 0.052632
2016-01-02 B NaN
2016-01-03 B -0.187500
2016-01-04 B 0.000000
2016-01-02 C NaN
2016-01-03 C 0.000000
Name: Value, dtype: float64

First pecent change value of each group should be NaN, while in my computer with pandas version 0.23.1, the result shows as below.

Date Group
2016-01-02 A NaN
2016-01-03 A -0.062500
2016-01-04 A -0.066667
2016-01-05 A 0.214286
2016-01-06 A 0.117647
2016-01-07 A 0.052632
2016-01-02 B -0.200000
2016-01-03 B -0.187500
2016-01-04 B 0.000000
2016-01-02 C 0.230769
2016-01-03 C 0.000000
Name: Value, dtype: float64

Output of pd.show_versions()

INSTALLED VERSIONS

commit: None

python: 3.6.5.final.0

python-bits: 64

OS: Windows

OS-release: 10

machine: AMD64

processor: AMD64 Family 23 Model 1 Stepping 1, AuthenticAMD

byteorder: little

LC_ALL: None

LANG: None

LOCALE: None.None

pandas: 0.23.1

pytest: 3.5.1

pip: 10.0.1

setuptools: 39.1.0

Cython: 0.28.2

numpy: 1.14.3

scipy: 1.1.0

pyarrow: None

xarray: None

IPython: 6.4.0

sphinx: 1.7.4

patsy: 0.5.0

dateutil: 2.7.3

pytz: 2018.4

blosc: None

bottleneck: 1.2.1

tables: 3.4.3

numexpr: 2.6.5

feather: None

matplotlib: 2.2.2

openpyxl: 2.5.3

xlrd: 1.1.0

xlwt: 1.3.0

xlsxwriter: 1.0.4

lxml: 4.2.1

bs4: 4.6.0

html5lib: 0.9999999

sqlalchemy: 1.2.7

pymysql: None

psycopg2: None

jinja2: 2.10

s3fs: None

fastparquet: None

pandas_gbq: None

pandas_datareader: None

Issue 2:
Code Sample, a copy-pastable example if possible

# Your code here
df=pd.DataFrame([[1,2],[3,4]], columns=list('aa')) . # NOTICE TWO COLUMNS EACH CALLED 'a'
df.drop_duplicates()

Problem description

May be related to 10161

Above code blows up with exception:

[...]

/opt/virtualenvs/luigi/local/lib/python2.7/dist-packages/pandas/core/frame.pyc in f(vals)

3095 labels, shape = algos.factorize(vals,

3096 size_hint=min(len(self),

-> 3097 _SIZE_HINT_LIMIT))

3098 return labels.astype('i8', copy=False), len(shape)

3099

/opt/virtualenvs/luigi/local/lib/python2.7/dist-packages/pandas/core/algorithms.pyc in factorize(values, sort, order, na_sentinel, size_hint)

183 table = hash_klass(size_hint or len(vals))

184 uniques = vec_klass()

--> 185 labels = table.get_labels(vals, uniques, 0, na_sentinel, True)

186

187 labels = com._ensure_platform_int(labels)

pandas/hashtable.pyx in pandas.hashtable.Int64HashTable.get_labels (pandas/hashtable.c:7941)()

ValueError: Buffer has wrong number of dimensions (expected 1, got 2)

Expected Output

I was excepting simple dataframe output as there are no duplicate rows there.

a a

0 1 2

1 3 4

Output of pd.show_versions()

INSTALLED VERSIONS

commit: None

python: 2.7.12.final.0

python-bits: 64

OS: Linux

OS-release: 4.9.32-15.41.amzn1.x86_64

machine: x86_64

processor: x86_64

byteorder: little

LC_ALL: None

LANG: en_US.UTF-8

pandas: 0.18.1

nose: None

pip: 9.0.1

setuptools: 36.4.0

Cython: None

numpy: 1.11.0

scipy: 0.17.1

statsmodels: 0.8.0

xarray: None

IPython: 5.4.1

sphinx: None

patsy: 0.4.1

dateutil: 2.6.1

pytz: 2017.2

blosc: None

bottleneck: None

tables: None

numexpr: None

matplotlib: 2.0.2

openpyxl: None

xlrd: None

xlwt: None

xlsxwriter: None

lxml: None

bs4: None

html5lib: 0.999999999

httplib2: None

apiclient: None

sqlalchemy: 1.1.14

pymysql: 0.7.11.None

psycopg2: None

jinja2: 2.7.3

boto: 2.48.0

pandas_datareader: None