からパンダDATAFRAMEの列名を取得します。私は、Excelからインポートデータフレームいる:numpyのアレイ
>>df
Name Emp ID Total Salary A B C D E
0 Mike A001 25000 5000 15000 3000 0 2000
1 John A002 23000 5000 10000 3000 3000 2000
2 Bob A003 21000 5000 15000 0 1000 0
3 Rose A004 20000 5000 10000 2000 1000 20000
4 James A005 10000 5000 0 3000 0 2000
今私は、次のコードを使用して総給与のサブセットの合計を計算しています
コード:を
import pandas as pd
import numpy as np
df = pd.read_excel('tmp/test.xlsx')
val = df.drop(['Name','Emp ID','Total Salary'],1)
test = np.array(val)
num = df['Total Salary'][0]
array = test[0]
def subsetsum(array,num):
if num == 0 or num < 1:
return None
elif len(array) == 0:
return None
else:
if np.isclose(array[0],num):
return [array[0]]
else:
with_v = subsetsum(array[1:],(num - array[0]))
if with_v:
return [array[0]] + with_v
else:
return subsetsum(array[1:],num)
print('\nValues : ',array)
print('\nTotal Salary : ',num)
print('\nValues of Salary : ',subsetsum(array,num))
出力:
Values : [ 5000 15000 3000 0 2000]
Total Salary : 25000
Values of Salary : [5000, 15000, 3000, 0, 2000]
これで、配列にある給与の値をデータフレーム内の列名にリンクする方法が必要です。
だから私は希望私の出力は次のようになります。必要な
出力:
Values : [ 5000 15000 3000 0 2000]
Total Salary : 25000
Values of Salary : A - 5000 B - 15000 C - 3000 E - 2000
私は試してみましたが、失敗しました。どうすればいいか教えてください。してください。それは大きな助けになるだろう! – cgmaster
@cgmaster何を試しましたか?失敗した理由は何ですか? –
関数からインデックス値を抽出できません。インデックスを取得できるように値を個別に抽出しようとすると、それは私にスローされます。なし [2000] [3000、2000] [15000,3000,2000]。 – cgmaster