I can reproduce your error message with:
In [267]: [1,2,3]*3.43
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-267-fc9c3bc4b243> in <module>()
----> 1 [1,2,3]*3.43
TypeError: can't multiply sequence by non-int of type 'float'
In Python (not numpy or pandas), a list or other sequence times an integer replicates the sequence:
In [268]: [1,2,3]*3
Out[268]: [1, 2, 3, 1, 2, 3, 1, 2, 3]
If
df['first_column'] * df['second column']
is producing the error, then one term is a sequence (e.g. list) the other a float. Another possibility is that one is a object dtype array, and contains one or more lists.
In [271]: np.array([(2,3),(3,)])*3
Out[271]: array([(2, 3, 2, 3, 2, 3), (3, 3, 3)], dtype=object)
In [272]: np.array([(2,3),(3,)])*3.34
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-272-c3152ad55f88> in <module>()
----> 1 np.array([(2,3),(3,)])*3.34
TypeError: can't multiply sequence by non-int of type 'float'
It could even be a mix of floats and lists, doing number * on the numbers and replication on the lists.
In [283]: np.array([(2,3),(3,),12])*np.array([[3],[2]])
Out[283]:
array([[(2, 3, 2, 3, 2, 3), (3, 3, 3), 36],
[(2, 3, 2, 3), (3, 3), 24]], dtype=object)
More likely it's an object array (or data series) with a mix of numbers and strings:
In [287]: np.array(['astring',12],dtype=object)*np.array([[3]])
Out[287]: array([['astringastringastring', 36]], dtype=object)
In [288]: np.array(['astring',12],dtype=object)*np.array([[3.23]])
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-288-5a02408d1a73> in <module>()
----> 1 np.array(['astring',12],dtype=object)*np.array([[3.23]])
TypeError: can't multiply sequence by non-int of type 'float'