你如何从excel中的命名范围读入熊猫数据帧?read_excel旨在读取工作簿中的整个工作表.
我有一个如下所示的DataFrame.假设这些是销售人员列表的销售额.
此外,我有一个查找表,其中包含按金额计算的佣金.这看起来如下.所以,$ 0- $ 50,000 = 5%,$ 50,001- $ 250,000 = 4%等.
我想要做的是将查找表应用于sales表以生成下面的DataFrame.
尝试1:
In [66]: a
Out[66]:
Sales_1 Sales_2 Sales_3
0 200000 300000 100000
1 100000 500000 500000
2 400000 1000000 200000
In [67]: b
Out[67]:
Commission
Sales
50000 0.05
250000 0.04
750000 0.03
9999999999 0.02
In [68]: c = b['Commission'][a <= b.index.values]
Traceback (most recent call last):
File "<ipython-input-68-d229bce29f01>", line 1, in <module>
c = b['Commission'][a <= b.index.values]
File "C:\WinPython64bit\python-3.5.2.amd64\lib\site-packages\pandas\core\ops.py", line 1184, in f
res = self._combine_const(other, func, …Run Code Online (Sandbox Code Playgroud) 我有一个如下所示的DataFrame,称之为"值":
我想创建另一个,称之为"sums",其中包含"sums"中的列到结尾的DataFrame"值"的总和.它看起来如下所示:
我想创建它,而无需通过数据点查看整个DataFrame,数据点.我一直在努力,.apply()如下所示,但我一直得到错误:unsupported operand type(s) for +: 'int' and 'datetime.date'
In [26]: values = pandas.DataFrame({0:[96,54,27,28],
1:[55,75,32,37],2:[54,99,36,46],3:[35,77,0,10],4:[62,25,0,25],
5:[0,66,0,89],6:[0,66,0,89],7:[0,0,0,0],8:[0,0,0,0]})
In [28]: sums = values.copy()
In [29]: sums.iloc[:,:] = ''
In [31]: for column in sums:
...: sums[column].apply(sum(values.loc[:,column:]))
...:
Traceback (most recent call last):
File "<ipython-input-31-030442e5005e>", line 2, in <module>
sums[column].apply(sum(values.loc[:,column:]))
File "C:\WinPython64bit\python-3.5.2.amd64\lib\site-packages\pandas\core\series.py", line 2220, in apply
mapped = lib.map_infer(values, f, convert=convert_dtype)
File "pandas\src\inference.pyx", line 1088, in pandas.lib.map_infer (pandas\lib.c:63043)
TypeError: 'numpy.int64' object is not callable
In [32]: for column in …Run Code Online (Sandbox Code Playgroud)