Python: Combining Two Rows with Pandas read_excel The 2019 Stack Overflow Developer Survey...

How can I add encounters in the Lost Mine of Phandelver campaign without giving PCs too much XP?

Is it correct to say the Neural Networks are an alternative way of performing Maximum Likelihood Estimation? if not, why?

ODD NUMBER in Cognitive Linguistics of WILLIAM CROFT and D. ALAN CRUSE

How to display lines in a file like ls displays files in a directory?

Pokemon Turn Based battle (Python)

Can a rogue use sneak attack with weapons that have the thrown property even if they are not thrown?

Can there be female White Walkers?

Straighten subgroup lattice

Worn-tile Scrabble

Old scifi movie from the 50s or 60s with men in solid red uniforms who interrogate a spy from the past

Why don't hard Brexiteers insist on a hard border to prevent illegal immigration after Brexit?

APIPA and LAN Broadcast Domain

What is the motivation for a law requiring 2 parties to consent for recording a conversation

How do I free up internal storage if I don't have any apps downloaded?

Can we generate random numbers using irrational numbers like π and e?

Are spiders unable to hurt humans, especially very small spiders?

Are there any other methods to apply to solving simultaneous equations?

Output the Arecibo Message

If I score a critical hit on an 18 or higher, what are my chances of getting a critical hit if I roll 3d20?

If a sorcerer casts the Banishment spell on a PC while in Avernus, does the PC return to their home plane?

Accepted by European university, rejected by all American ones I applied to? Possible reasons?

Why are there uneven bright areas in this photo of black hole?

Why isn't the circumferential light around the M87 black hole's event horizon symmetric?

Can withdrawing asylum be illegal?



Python: Combining Two Rows with Pandas read_excel



The 2019 Stack Overflow Developer Survey Results Are In





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







0












$begingroup$


My first post at code review, hope this goes well. I am reading an Excel file using Pandas and I feel like there has to be a better way to handle the way I create column names. This is something like the excel file I'm reading:



            1       2      # '1' is merged in the two cells above 'a'and 'b'
Date a b c d # likewise for '2'. As opposed to 'centered across selection'
1 1-Jan-19 100 200 300 400
2 1-Feb-19 101 201 301 401
3 1-Mar-19 102 202 302 402


I'm doing the following to get my headers the way that I want them:



import pandas as pd
import json

xls = pd.ExcelFile(r'C:Path_toExcel_Pandas_Connector
Test.xls')
df = pd.read_excel(xls, 'Sheet1', header=[1])

df['Date'] = pd.to_datetime(df['Date'])
json_str = df[df.Date == df['Date'].max()].to_json(orient='records',date_format='iso')

dat_data = json.loads(json_str)[0]

def clean_json():
global dat_data
dat_data['1a'] = dat_data.pop('a')
dat_data['1b'] = dat_data.pop('b')
dat_data['2c'] = dat_data.pop('c')
dat_data['2d'] = dat_data.pop('d')

clean_json()

print(json.dumps(dat_data,indent=4))


and my desired output is:



{
"Date": "2019-03-01T00:00:00.000Z",
"1a": 102,
"1b": 202,
"2c": 302,
"2d": 402
}


Is there a Pandas built-in that I could have used to do the same thing?









share







New contributor




Virgilio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$



















    0












    $begingroup$


    My first post at code review, hope this goes well. I am reading an Excel file using Pandas and I feel like there has to be a better way to handle the way I create column names. This is something like the excel file I'm reading:



                1       2      # '1' is merged in the two cells above 'a'and 'b'
    Date a b c d # likewise for '2'. As opposed to 'centered across selection'
    1 1-Jan-19 100 200 300 400
    2 1-Feb-19 101 201 301 401
    3 1-Mar-19 102 202 302 402


    I'm doing the following to get my headers the way that I want them:



    import pandas as pd
    import json

    xls = pd.ExcelFile(r'C:Path_toExcel_Pandas_Connector
    Test.xls')
    df = pd.read_excel(xls, 'Sheet1', header=[1])

    df['Date'] = pd.to_datetime(df['Date'])
    json_str = df[df.Date == df['Date'].max()].to_json(orient='records',date_format='iso')

    dat_data = json.loads(json_str)[0]

    def clean_json():
    global dat_data
    dat_data['1a'] = dat_data.pop('a')
    dat_data['1b'] = dat_data.pop('b')
    dat_data['2c'] = dat_data.pop('c')
    dat_data['2d'] = dat_data.pop('d')

    clean_json()

    print(json.dumps(dat_data,indent=4))


    and my desired output is:



    {
    "Date": "2019-03-01T00:00:00.000Z",
    "1a": 102,
    "1b": 202,
    "2c": 302,
    "2d": 402
    }


    Is there a Pandas built-in that I could have used to do the same thing?









    share







    New contributor




    Virgilio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.







    $endgroup$















      0












      0








      0





      $begingroup$


      My first post at code review, hope this goes well. I am reading an Excel file using Pandas and I feel like there has to be a better way to handle the way I create column names. This is something like the excel file I'm reading:



                  1       2      # '1' is merged in the two cells above 'a'and 'b'
      Date a b c d # likewise for '2'. As opposed to 'centered across selection'
      1 1-Jan-19 100 200 300 400
      2 1-Feb-19 101 201 301 401
      3 1-Mar-19 102 202 302 402


      I'm doing the following to get my headers the way that I want them:



      import pandas as pd
      import json

      xls = pd.ExcelFile(r'C:Path_toExcel_Pandas_Connector
      Test.xls')
      df = pd.read_excel(xls, 'Sheet1', header=[1])

      df['Date'] = pd.to_datetime(df['Date'])
      json_str = df[df.Date == df['Date'].max()].to_json(orient='records',date_format='iso')

      dat_data = json.loads(json_str)[0]

      def clean_json():
      global dat_data
      dat_data['1a'] = dat_data.pop('a')
      dat_data['1b'] = dat_data.pop('b')
      dat_data['2c'] = dat_data.pop('c')
      dat_data['2d'] = dat_data.pop('d')

      clean_json()

      print(json.dumps(dat_data,indent=4))


      and my desired output is:



      {
      "Date": "2019-03-01T00:00:00.000Z",
      "1a": 102,
      "1b": 202,
      "2c": 302,
      "2d": 402
      }


      Is there a Pandas built-in that I could have used to do the same thing?









      share







      New contributor




      Virgilio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.







      $endgroup$




      My first post at code review, hope this goes well. I am reading an Excel file using Pandas and I feel like there has to be a better way to handle the way I create column names. This is something like the excel file I'm reading:



                  1       2      # '1' is merged in the two cells above 'a'and 'b'
      Date a b c d # likewise for '2'. As opposed to 'centered across selection'
      1 1-Jan-19 100 200 300 400
      2 1-Feb-19 101 201 301 401
      3 1-Mar-19 102 202 302 402


      I'm doing the following to get my headers the way that I want them:



      import pandas as pd
      import json

      xls = pd.ExcelFile(r'C:Path_toExcel_Pandas_Connector
      Test.xls')
      df = pd.read_excel(xls, 'Sheet1', header=[1])

      df['Date'] = pd.to_datetime(df['Date'])
      json_str = df[df.Date == df['Date'].max()].to_json(orient='records',date_format='iso')

      dat_data = json.loads(json_str)[0]

      def clean_json():
      global dat_data
      dat_data['1a'] = dat_data.pop('a')
      dat_data['1b'] = dat_data.pop('b')
      dat_data['2c'] = dat_data.pop('c')
      dat_data['2d'] = dat_data.pop('d')

      clean_json()

      print(json.dumps(dat_data,indent=4))


      and my desired output is:



      {
      "Date": "2019-03-01T00:00:00.000Z",
      "1a": 102,
      "1b": 202,
      "2c": 302,
      "2d": 402
      }


      Is there a Pandas built-in that I could have used to do the same thing?







      python excel pandas





      share







      New contributor




      Virgilio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share







      New contributor




      Virgilio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share



      share






      New contributor




      Virgilio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 2 mins ago









      VirgilioVirgilio

      1




      1




      New contributor




      Virgilio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Virgilio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Virgilio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          0






          active

          oldest

          votes












          Your Answer





          StackExchange.ifUsing("editor", function () {
          return StackExchange.using("mathjaxEditing", function () {
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
          });
          });
          }, "mathjax-editing");

          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "196"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          Virgilio is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f217294%2fpython-combining-two-rows-with-pandas-read-excel%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          Virgilio is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          Virgilio is a new contributor. Be nice, and check out our Code of Conduct.













          Virgilio is a new contributor. Be nice, and check out our Code of Conduct.












          Virgilio is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to Code Review Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f217294%2fpython-combining-two-rows-with-pandas-read-excel%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          is 'sed' thread safeWhat should someone know about using Python scripts in the shell?Nexenta bash script uses...

          How do i solve the “ No module named 'mlxtend' ” issue on Jupyter?

          Pilgersdorf Inhaltsverzeichnis Geografie | Geschichte | Bevölkerungsentwicklung | Politik | Kultur...