test_iloc.py 864 B

12345678910111213141516171819202122232425262728293031323334353637
  1. # coding=utf-8
  2. # pylint: disable-msg=E1101,W0612
  3. import numpy as np
  4. from pandas.compat import lrange, range
  5. from pandas import Series
  6. from pandas.util.testing import assert_almost_equal, assert_series_equal
  7. def test_iloc():
  8. s = Series(np.random.randn(10), index=lrange(0, 20, 2))
  9. for i in range(len(s)):
  10. result = s.iloc[i]
  11. exp = s[s.index[i]]
  12. assert_almost_equal(result, exp)
  13. # pass a slice
  14. result = s.iloc[slice(1, 3)]
  15. expected = s.loc[2:4]
  16. assert_series_equal(result, expected)
  17. # test slice is a view
  18. result[:] = 0
  19. assert (s[1:3] == 0).all()
  20. # list of integers
  21. result = s.iloc[[0, 2, 3, 4, 5]]
  22. expected = s.reindex(s.index[[0, 2, 3, 4, 5]])
  23. assert_series_equal(result, expected)
  24. def test_iloc_nonunique():
  25. s = Series([0, 1, 2], index=[0, 1, 0])
  26. assert s.iloc[2] == 2