PageRenderTime 51ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/bokeh/data.py

https://gitlab.com/intruxxer/bokeh
Python | 22 lines | 21 code | 0 blank | 1 comment | 8 complexity | 290760a33628a8029ca50e3a2b8dfbb5 MD5 | raw file
  1. import numpy as np
  2. import pandas
  3. def make_source(**kwargs):
  4. # need to cast pandas as numpy so we can rowindex easily
  5. for k in kwargs.keys():
  6. if isinstance(kwargs[k], pandas.Series):
  7. kwargs[k] = kwargs[k].view(np.ndarray)
  8. output = []
  9. flds = kwargs.keys()
  10. for idx in range(len(kwargs.values()[0])):
  11. point = {}
  12. for f in flds:
  13. val = kwargs[f][idx]
  14. if isinstance(val, float) and np.isnan(val):
  15. val = "NaN"
  16. elif isinstance(val, np.ndarray):
  17. val = val.tolist()
  18. else:
  19. val = kwargs[f][idx]
  20. point[f] = val
  21. output.append(point)
  22. return output