पांडा: बनाएँ मासिक उप-योगों के अवैतनिक चालान

0

सवाल

मैं एक dataframe है कि इस तरह दिखता है:

df:

Index   AMOUNT_INVOICED  INVOICED_DATE    CLOSED_DATE
0         1443.62          2019-08-01        2019-09-04
1         3585.78          2019-08-03        2019-09-04
2         68276.25         2019-08-05        2019-09-04
3         19673.84         2019-09-10        2019-11-06
4         9119.40          2019-09-11        2019-10-07
...
700       9976.25          2021-09-01        2021-10-04
701       7273.84          2021-09-01        2021-11-14
702       3129.40          2021-10-04        2021-11-23

प्रत्येक पंक्ति का प्रतिनिधित्व करता है एक चालान है कि पहले से ही भुगतान किया गया, DF शामिल डेटा के साथ चालान की तारीख से फैले 2019-01 के लिए आज.

मैं कोशिश कर रहा हूँ कुछ करने के लिए रिपोर्टिंग, एक मासिक आधार पर की पहचान करने के लिए कितना $ बकाया था पर हर महीने के अंत.

मैं स्थापित किया है एक आउटपुट df से पता चलता है कि हर महीने के बाद से पहले चालान की तारीख, और दुकान के लिए एक जगह की राशि बकाया की गिरफ्तारी महीने के लिए, यह वर्तमान में इस तरह दिखता है:

                    Total Outstanding AR  
Month                                              
2019-08                     0
2019-09                     0 
2019-10                     0  
...
2021-09                     0  
2021-10                     0   

अंत में मैं होगा की तरह का उत्पादन करने के लिए कुछ इस तरह दिखेगा:

                    Total Outstanding AR  
Month                                                                        
2019-08                     73,305.65 
2019-09                     28,793.24  
2019-10                     19673.84  
...
2021-09                     17,250.09  
2021-10                     10,403.24   

कुल बकाया की गिरफ्तारी से आया होगा, संक्षेप राशि चालान के लिए प्रत्येक माह के जहां चालान नहीं किया गया है बंद कर दिया ।

उदाहरण के लिए, 2019-08 हम योग की राशि चालान की तीन चालान, 1443.62 + 3585.78 + 68276.25 = 73,305.65, के बाद से इन तीन चालान छोड़ दिया गया अवैतनिक अगस्त के अंत में. इस तर्क जारी रहेगा जब तक चालान भुगतान किया जाता है, लेकिन चालान नहीं करता है के लिए योगदान के बकाया की गिरफ्तारी महीने के लिए यह भुगतान किया जाता है.

कोई मेरी मदद कर सकता सबसे अच्छा तरीका पता लगाने के लिए बनाने के बारे में जाने मेरे वांछित उत्पादन?

धन्यवाद!

date pandas python
2021-11-23 23:33:01
1

सबसे अच्छा जवाब

1

यह करना चाहिए कि क्या आप से पूछना ।

import datetime
import pandas as pd
data = {
    'AMOUNT_INVOICED': [ 1443.62, 3585.78, 68276.25, 19673.84,
        9119.40, 9976.25, 7273.84, 3129.40 ],
    'INVOICED_DATE': [ '2019-08-01', '2019-08-03', '2019-08-05',
        '2019-09-10', '2019-09-11', '2021-09-01', '2021-09-01',
        '2021-10-04' ],
    'CLOSED_DATE': [ '2019-09-04', '2019-09-04', '2019-09-04',
         '2019-11-06', '2019-10-07', '2021-10-04', '2021-11-14',
         '2021-11-23' ]
}

df = pd.DataFrame(data)

dates = []
amounts = []
for year in range(2019,2022):
    for month in range(12):
        magic = '%04d-%02d-01' % (year,month+1)
        s1 = df[df['INVOICED_DATE'] < magic]['AMOUNT_INVOICED'].sum()
        s2 = df[df['CLOSED_DATE'] < magic]['AMOUNT_INVOICED'].sum()
        print("%s %10.2f %10.2f %10.2f" % (magic, s1,s2,s1-s2))
        dates.append( magic[:7] )
        amounts.append( s1-s2 )

newdf = pd.DataFrame(amounts, index=dates, columns=['Total Outstanding AR'])
print(newdf)

आउटपुट:

2019-01-01       0.00       0.00       0.00
2019-02-01       0.00       0.00       0.00
2019-03-01       0.00       0.00       0.00
2019-04-01       0.00       0.00       0.00
2019-05-01       0.00       0.00       0.00
2019-06-01       0.00       0.00       0.00
2019-07-01       0.00       0.00       0.00
2019-08-01       0.00       0.00       0.00
2019-09-01   73305.65       0.00   73305.65
2019-10-01  102098.89   73305.65   28793.24
2019-11-01  102098.89   82425.05   19673.84
2019-12-01  102098.89  102098.89       0.00
2020-01-01  102098.89  102098.89       0.00
2020-02-01  102098.89  102098.89       0.00
2020-03-01  102098.89  102098.89       0.00
2020-04-01  102098.89  102098.89       0.00
2020-05-01  102098.89  102098.89       0.00
2020-06-01  102098.89  102098.89       0.00
2020-07-01  102098.89  102098.89       0.00
2020-08-01  102098.89  102098.89       0.00
2020-09-01  102098.89  102098.89       0.00
2020-10-01  102098.89  102098.89       0.00
2020-11-01  102098.89  102098.89       0.00
2020-12-01  102098.89  102098.89       0.00
2021-01-01  102098.89  102098.89       0.00
2021-02-01  102098.89  102098.89       0.00
2021-03-01  102098.89  102098.89       0.00
2021-04-01  102098.89  102098.89       0.00
2021-05-01  102098.89  102098.89       0.00
2021-06-01  102098.89  102098.89       0.00
2021-07-01  102098.89  102098.89       0.00
2021-08-01  102098.89  102098.89       0.00
2021-09-01  102098.89  102098.89       0.00
2021-10-01  119348.98  102098.89   17250.09
2021-11-01  122478.38  112075.14   10403.24
2021-12-01  122478.38  122478.38       0.00
         Total Outstanding AR
2019-01                  0.00
2019-02                  0.00
2019-03                  0.00
2019-04                  0.00
2019-05                  0.00
2019-06                  0.00
2019-07                  0.00
2019-08                  0.00
2019-09              73305.65
2019-10              28793.24
2019-11              19673.84
2019-12                  0.00
2020-01                  0.00
2020-02                  0.00
2020-03                  0.00
2020-04                  0.00
2020-05                  0.00
2020-06                  0.00
2020-07                  0.00
2020-08                  0.00
2020-09                  0.00
2020-10                  0.00
2020-11                  0.00
2020-12                  0.00
2021-01                  0.00
2021-02                  0.00
2021-03                  0.00
2021-04                  0.00
2021-05                  0.00
2021-06                  0.00
2021-07                  0.00
2021-08                  0.00
2021-09                  0.00
2021-10              17250.09
2021-11              10403.24
2021-12                  0.00
2021-11-24 01:41:37

के रूप में सभी के साथ pandas दृश्यों, वहाँ शायद एक तरह से करने के लिए उन चल रकम में एक या दो फ़ंक्शन कॉल के बिना एक पाश. मुझे यकीन है कि किसी को पाइप के ऊपर.
Tim Roberts

यह उपयोगी है, लेकिन यह प्रतीत होता है करने के लिए केवल काम के पहले महीने के लिए. बाद के महीनों में एक उच्च मूल्य की तुलना में वे चाहिए. एक बार चालान को बंद कर दिया है, यह बाहर रखा जाना चाहिए से निम्न महीने
ksan

उफ़, टाइपो. मैं ठीक कर दूँगा. आप देख सकते हैं कि अभी तक सही स्तंभ में सही था, मैं बस गया था की बचत गलत स्तंभ के लिए df.
Tim Roberts

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में