PageRenderTime 43ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/bench/bench_sparse.py

http://github.com/wesm/pandas
Python | 92 lines | 53 code | 29 blank | 10 comment | 3 complexity | ded1a05236c1c9b4c01be7fb7d89f560 MD5 | raw file
Possible License(s): BSD-3-Clause, Apache-2.0
  1. import sys
  2. import numpy as np
  3. from pandas import *
  4. import pandas.core.sparse as spm
  5. reload(spm)
  6. from pandas.core.sparse import *
  7. N = 10000.
  8. arr1 = np.arange(N)
  9. index = Index(np.arange(N))
  10. off = N//10
  11. arr1[off : 2 * off] = np.NaN
  12. arr1[4*off: 5 * off] = np.NaN
  13. arr1[8*off: 9 * off] = np.NaN
  14. arr2 = np.arange(N)
  15. arr2[3 * off // 2: 2 * off + off // 2] = np.NaN
  16. arr2[8 * off + off // 2: 9 * off + off // 2] = np.NaN
  17. s1 = SparseSeries(arr1, index=index)
  18. s2 = SparseSeries(arr2, index=index)
  19. is1 = SparseSeries(arr1, kind='integer', index=index)
  20. is2 = SparseSeries(arr2, kind='integer', index=index)
  21. s1_dense = s1.to_dense()
  22. s2_dense = s2.to_dense()
  23. if 'linux' in sys.platform:
  24. pth = '/home/wesm/code/pandas/example'
  25. else:
  26. pth = '/Users/wesm/code/pandas/example'
  27. dm = DataFrame.load(pth)
  28. sdf = dm.to_sparse()
  29. def new_data_like(sdf):
  30. new_data = {}
  31. for col, series in sdf.iteritems():
  32. new_data[col] = SparseSeries(np.random.randn(len(series.sp_values)),
  33. index=sdf.index,
  34. sparse_index=series.sp_index,
  35. fill_value=series.fill_value)
  36. return SparseDataFrame(new_data)
  37. # data = {}
  38. # for col, ser in dm.iteritems():
  39. # data[col] = SparseSeries(ser)
  40. dwp = Panel.fromDict({'foo' : dm})
  41. # sdf = SparseDataFrame(data)
  42. lp = stack_sparse_frame(sdf)
  43. swp = SparsePanel({'A' : sdf})
  44. swp = SparsePanel({'A' : sdf,
  45. 'B' : sdf,
  46. 'C' : sdf,
  47. 'D' : sdf})
  48. y = sdf
  49. x = SparsePanel({'x1' : sdf + new_data_like(sdf) / 10,
  50. 'x2' : sdf + new_data_like(sdf) / 10})
  51. dense_y = sdf
  52. dense_x = x.to_dense()
  53. # import hotshot, hotshot.stats
  54. # prof = hotshot.Profile('test.prof')
  55. # benchtime, stones = prof.runcall(ols, y=y, x=x)
  56. # prof.close()
  57. # stats = hotshot.stats.load('test.prof')
  58. dense_model = ols(y=dense_y, x=dense_x)
  59. import pandas.stats.plm as plm
  60. import pandas.stats.interface as face
  61. reload(plm)
  62. reload(face)
  63. # model = face.ols(y=y, x=x)