Dot product of empty dataframe resulted in dataframe filled with zeros. I thought the expected ones would be empty or NaN?

In [3]: df = pd.DataFrame(index = ['a','b'])

In [4]: srs = pd.Series()

In [5]: df Out[5]: Empty DataFrame Columns: [] Index: [a, b]

In [6]: srs Out[6]: Series([], dtype: float64)

In [7]: df.dot(srs) Out[7]: a 0 b 0 dtype: float64

Comment From: jreback

This is as expected as seen below.

In [2]: df = pd.DataFrame(index = ['a','b'])

In [3]: srs = pd.Series()

In [4]: np.dot(df.values, srs.values)
Out[4]: array([ 0.,  0.])