Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在2个数据帧之间相乘_Python_Pandas - Fatal编程技术网

Python 在2个数据帧之间相乘

Python 在2个数据帧之间相乘,python,pandas,Python,Pandas,我有以下2个数据帧,我想乘,但我没有设法做到这一点。任何帮助都将不胜感激 第一数据帧: created_at 2019-06-28 2019-06-29 2019-06-30 2019-07-01 currency 1WO 2.600000e+05 2.600000e+05 2.604320e+05 2.604320e+05 ABX

我有以下2个数据帧,我想乘,但我没有设法做到这一点。任何帮助都将不胜感激

第一数据帧:

created_at    2019-06-28    2019-06-29    2019-06-30    2019-07-01
currency                                                          
1WO         2.600000e+05  2.600000e+05  2.604320e+05  2.604320e+05
ABX         1.033400e+04  1.033400e+04  1.033400e+04  1.033400e+04
ADH         8.219730e+05  8.219730e+05  8.219730e+05  8.219730e+05
ALX         2.500000e+04  2.500000e+04  2.500000e+04  2.500000e+04
AMLT        4.874240e+05  7.510590e+05  7.510600e+05  7.510600e+05
BCH         2.690000e+02  2.360000e+02  2.390000e+02 -3.982000e+03
          2019-06-28    2019-06-29    2019-06-30    2019-07-01
currency                                                        
1WO       5.108000e+00  5.533000e+00  5.305000e+00  4.745000e+00
ADH       1.600000e-01  1.807000e-01  1.587000e-01  1.470000e-01
ALX       3.877000e-01  4.564000e-01  4.751000e-01  3.773000e-01
AMLT      6.078000e-01  1.051000e+00  6.900000e-01  4.087000e-01
BCH       4.537659e+04  4.728048e+04  4.786292e+04  4.355922e+04
第二数据帧:

created_at    2019-06-28    2019-06-29    2019-06-30    2019-07-01
currency                                                          
1WO         2.600000e+05  2.600000e+05  2.604320e+05  2.604320e+05
ABX         1.033400e+04  1.033400e+04  1.033400e+04  1.033400e+04
ADH         8.219730e+05  8.219730e+05  8.219730e+05  8.219730e+05
ALX         2.500000e+04  2.500000e+04  2.500000e+04  2.500000e+04
AMLT        4.874240e+05  7.510590e+05  7.510600e+05  7.510600e+05
BCH         2.690000e+02  2.360000e+02  2.390000e+02 -3.982000e+03
          2019-06-28    2019-06-29    2019-06-30    2019-07-01
currency                                                        
1WO       5.108000e+00  5.533000e+00  5.305000e+00  4.745000e+00
ADH       1.600000e-01  1.807000e-01  1.587000e-01  1.470000e-01
ALX       3.877000e-01  4.564000e-01  4.751000e-01  3.773000e-01
AMLT      6.078000e-01  1.051000e+00  6.900000e-01  4.087000e-01
BCH       4.537659e+04  4.728048e+04  4.786292e+04  4.355922e+04
第一数据帧信息:

<class 'pandas.core.frame.DataFrame'>
Index: 123 entries, 1WO to ZPR
Data columns (total 4 columns):
2019-06-28    123 non-null float64
2019-06-29    123 non-null float64
2019-06-30    123 non-null float64
2019-07-01    123 non-null float64
dtypes: float64(4)
memory usage: 4.8+ KB
None
错误:

File "inv_pos.py", line 321, in <module>
jpy_bal = pos_bal.mul(d_price, axis= 0)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/ops.py", line 1550, in f
return self._combine_frame(other, na_op, fill_value, level)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/frame.py", line 4727, in _combine_frame
this, other = self.align(other, join='outer', level=level, copy=False)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/frame.py", line 3550, in align
broadcast_axis=broadcast_axis)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/generic.py", line 7367, in align
fill_axis=fill_axis)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/generic.py", line 7394, in _align_frame
other.columns, how=join, level=level, return_indexers=True)
 File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/indexes/base.py", line 3735, in join
return_indexers=return_indexers)
 File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/indexes/base.py", line 3830, in _join_multi
raise ValueError("cannot join with no level specified and no "
ValueError: cannot join with no level specified and no overlapping names
文件“inv_pos.py”,第321行,在
日元余额=头寸余额(d_价格,轴=0)
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site packages/pandas/core/ops.py”,第1550行,f
返回自身。组合框架(其他、不适用、填充值、级别)
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/frame.py”,第4727行,框架中
this,other=self.align(other,join='outer',level=level,copy=False)
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site packages/pandas/core/frame.py”,第3550行,对齐
广播轴=广播轴)
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site packages/pandas/core/generic.py”,第7367行,对齐
填充轴=填充轴)
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site packages/pandas/core/generic.py”,第7394行,在对齐框架中
other.columns,how=join,level=level,return\u indexers=True)
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site packages/pandas/core/index/base.py”,第3735行,在join中
返回索引器=返回索引器)
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site packages/pandas/core/index/base.py”,第3830行,在“join\u multi”中
raise VALUETERROR(“无法在未指定级别且未指定的情况下加入”
ValueError:无法在未指定级别且没有重叠名称的情况下加入

好的,根据您的信息,您的第二个df2列类型是datetime和多索引,这是有线的,单列但有多个索引类型,因此我们转换
mul将起作用

df2.columns=df.columns.get_level_values(0)

df1.columns=pd.to_datetime(df1.columns)
df2.columns=pd.to_datetime(df2.columns)
df1.mul(df2)
            2019-06-28    2019-06-29    2019-06-30    2019-07-01
currency                                                        
1WO       1.328080e+06  1.438580e+06  1.381592e+06  1.235750e+06
ABX                NaN           NaN           NaN           NaN
ADH       1.315157e+05  1.485305e+05  1.304471e+05  1.208300e+05
ALX       9.692500e+03  1.141000e+04  1.187750e+04  9.432500e+03
AMLT      2.962563e+05  7.893630e+05  5.182314e+05  3.069582e+05
BCH       1.220630e+07  1.115819e+07  1.143924e+07 -1.734528e+08

在我这边运行良好真的吗?!我很困惑检查答案,让我知道是否有效:-)谢谢,似乎第二个df列是元组。它向我发送了一个类型错误
TypeError:无法转换为datetime
@mamadede您可以尝试一下
df2.columns=df2.columns.str[0]
@mamadede如果您觉得这个答案有用,除了接受它之外,您还可以对它进行投票。