You are doing it wrong, you are trying to assign a DataFrame to a row in a different data frame.
You need to use pandas.DataFrame(amounts).T.loc[<columnName>] on the right side.
Example -
df = pandas.DataFrame(index=numpy.arange(0, 1), columns=required_indices_of_series)
Example / Demo -
In [23]: df1.loc[0] = pd.DataFrame(s).T.loc['A'] In [24]: df1 Out[24]: 0 1 0 1 3 1 NaN NaN In [25]: df = pd.DataFrame([[1,2],[3,4]],columns=['A','B']) In [26]: df Out[26]: AB 0 1 2 1 3 4 In [27]: df1 = pd.DataFrame(index = np.arange(0,1),columns = s.index) In [28]: df1 Out[28]: 0 1 0 NaN NaN In [29]: s = df['A'] In [30]: df1.loc[0] = pd.DataFrame(s).T --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-30-24065a81c953> in <module>() ----> 1 df1.loc[0] = pd.DataFrame(s).T C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in __setitem__(self, key, value) 113 def __setitem__(self, key, value): 114 indexer = self._get_setitem_indexer(key) --> 115 self._setitem_with_indexer(indexer, value) 116 117 def _has_valid_type(self, k, axis): C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in _setitem_with_indexer(self, indexer, value) 495 496 elif isinstance(value, ABCDataFrame): --> 497 value = self._align_frame(indexer, value) 498 499 if isinstance(value, ABCPanel): C:\Anaconda3\lib\site-packages\pandas\core\indexing.py in _align_frame(self, indexer, df) 688 return df.reindex(idx, columns=cols).values 689 --> 690 raise ValueError('Incompatible indexer with DataFrame') 691 692 def _align_panel(self, indexer, df): ValueError: Incompatible indexer with DataFrame In [31]: df1.loc[0] = pd.DataFrame(s).T.loc['A'] In [32]: df1 Out[32]: 0 1 0 1 3
source share