Preferred pandas code for selecting all rows and a subset of columnsHow to deal with SettingWithCopyWarning in Pandas?Python: Pandas Series - Why use loc?Selecting multiple columns in a pandas dataframeRenaming columns in pandasAdding new column to existing DataFrame in Python pandasDelete column from pandas DataFrame“Large data” work flows using pandasChange data type of columns in PandasHow to iterate over rows in a DataFrame in Pandas?Select rows from a DataFrame based on values in a column in pandasCombine two columns of text in dataframe in pandas/pythonHow to check if a column exists in Pandas

Alternative to Willpower in Fighting Cravings

Examples of fluid (including air) being used to transmit digital data?

Multi-user CRUD: Valid, Problem, or Error?

I'm feeling like my character doesn't fit the campaign

Why do airports remove/realign runways?

Implicit conversion between decimals with different precisions

Why no parachutes in the Orion AA2 abort test?

Does the sensor of a dslr count the number of photons that hits it?

My professor has told me he will be the corresponding author. Will it hurt my future career?

Minor differences between two recorded guitars

Are host configurations in the SSH config merged?

Taking advantage when HR forgets to communicate the rules

Does the Milky Way orbit around anything?

Did William Shakespeare hide things in his writings?

Do I need transit visa for Dublin?

How to reclaim personal item I've lent to the office without burning bridges?

What do I need to see before Spider-Man: Far From Home?

Why does mean tend be more stable in different samples than median?

Tiny URL creator

How can I use my cell phone's light as a reading light?

What's the difference between a type and a kind?

What are some bad ways to subvert tropes?

Why does this function pointer assignment work when assigned directly but not with the conditional operator?

Computer name naming convention for security



Preferred pandas code for selecting all rows and a subset of columns


How to deal with SettingWithCopyWarning in Pandas?Python: Pandas Series - Why use loc?Selecting multiple columns in a pandas dataframeRenaming columns in pandasAdding new column to existing DataFrame in Python pandasDelete column from pandas DataFrame“Large data” work flows using pandasChange data type of columns in PandasHow to iterate over rows in a DataFrame in Pandas?Select rows from a DataFrame based on values in a column in pandasCombine two columns of text in dataframe in pandas/pythonHow to check if a column exists in Pandas






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








0















Suppose that you have a pandas DataFrame named df with columns ['a','b','c','d','e'] and you want to create a new DataFrame newdf with columns 'b' and 'd'. There are two possible ways to do this:



newdf = df[['b','d']]


or



newdf = df.loc[:,['b','d']]


The first is using the indexing operator. The second is using .loc. Is there a reason to prefer one over the other?










share|improve this question
























  • stackoverflow.com/questions/38886080/…

    – WeNYoBen
    Mar 25 at 20:42











  • Depending on what you do with the slices once you obtain them, you might run into a SettingWithCopyWarning which might prevent you from being able to make updates depending on whether you're dealing with a view or copy.

    – cs95
    Mar 25 at 20:43











  • @coldspeed I think both operations produce a copy of the data, so you won't get that warning with operations on newdf. (Note - I modified the code a little to be able to reference newdf)

    – Irv
    Mar 25 at 21:07











  • v = df[['b']]; v['b'] = 3 throws SettingWithCopyWarning. The warning is raised on chained assignments, regardless of whether you have a view or copy. You don't have this issue with loc. That's my point.

    – cs95
    Mar 25 at 21:09

















0















Suppose that you have a pandas DataFrame named df with columns ['a','b','c','d','e'] and you want to create a new DataFrame newdf with columns 'b' and 'd'. There are two possible ways to do this:



newdf = df[['b','d']]


or



newdf = df.loc[:,['b','d']]


The first is using the indexing operator. The second is using .loc. Is there a reason to prefer one over the other?










share|improve this question
























  • stackoverflow.com/questions/38886080/…

    – WeNYoBen
    Mar 25 at 20:42











  • Depending on what you do with the slices once you obtain them, you might run into a SettingWithCopyWarning which might prevent you from being able to make updates depending on whether you're dealing with a view or copy.

    – cs95
    Mar 25 at 20:43











  • @coldspeed I think both operations produce a copy of the data, so you won't get that warning with operations on newdf. (Note - I modified the code a little to be able to reference newdf)

    – Irv
    Mar 25 at 21:07











  • v = df[['b']]; v['b'] = 3 throws SettingWithCopyWarning. The warning is raised on chained assignments, regardless of whether you have a view or copy. You don't have this issue with loc. That's my point.

    – cs95
    Mar 25 at 21:09













0












0








0








Suppose that you have a pandas DataFrame named df with columns ['a','b','c','d','e'] and you want to create a new DataFrame newdf with columns 'b' and 'd'. There are two possible ways to do this:



newdf = df[['b','d']]


or



newdf = df.loc[:,['b','d']]


The first is using the indexing operator. The second is using .loc. Is there a reason to prefer one over the other?










share|improve this question
















Suppose that you have a pandas DataFrame named df with columns ['a','b','c','d','e'] and you want to create a new DataFrame newdf with columns 'b' and 'd'. There are two possible ways to do this:



newdf = df[['b','d']]


or



newdf = df.loc[:,['b','d']]


The first is using the indexing operator. The second is using .loc. Is there a reason to prefer one over the other?







pandas






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 25 at 21:06







Irv

















asked Mar 25 at 20:40









IrvIrv

667 bronze badges




667 bronze badges












  • stackoverflow.com/questions/38886080/…

    – WeNYoBen
    Mar 25 at 20:42











  • Depending on what you do with the slices once you obtain them, you might run into a SettingWithCopyWarning which might prevent you from being able to make updates depending on whether you're dealing with a view or copy.

    – cs95
    Mar 25 at 20:43











  • @coldspeed I think both operations produce a copy of the data, so you won't get that warning with operations on newdf. (Note - I modified the code a little to be able to reference newdf)

    – Irv
    Mar 25 at 21:07











  • v = df[['b']]; v['b'] = 3 throws SettingWithCopyWarning. The warning is raised on chained assignments, regardless of whether you have a view or copy. You don't have this issue with loc. That's my point.

    – cs95
    Mar 25 at 21:09

















  • stackoverflow.com/questions/38886080/…

    – WeNYoBen
    Mar 25 at 20:42











  • Depending on what you do with the slices once you obtain them, you might run into a SettingWithCopyWarning which might prevent you from being able to make updates depending on whether you're dealing with a view or copy.

    – cs95
    Mar 25 at 20:43











  • @coldspeed I think both operations produce a copy of the data, so you won't get that warning with operations on newdf. (Note - I modified the code a little to be able to reference newdf)

    – Irv
    Mar 25 at 21:07











  • v = df[['b']]; v['b'] = 3 throws SettingWithCopyWarning. The warning is raised on chained assignments, regardless of whether you have a view or copy. You don't have this issue with loc. That's my point.

    – cs95
    Mar 25 at 21:09
















stackoverflow.com/questions/38886080/…

– WeNYoBen
Mar 25 at 20:42





stackoverflow.com/questions/38886080/…

– WeNYoBen
Mar 25 at 20:42













Depending on what you do with the slices once you obtain them, you might run into a SettingWithCopyWarning which might prevent you from being able to make updates depending on whether you're dealing with a view or copy.

– cs95
Mar 25 at 20:43





Depending on what you do with the slices once you obtain them, you might run into a SettingWithCopyWarning which might prevent you from being able to make updates depending on whether you're dealing with a view or copy.

– cs95
Mar 25 at 20:43













@coldspeed I think both operations produce a copy of the data, so you won't get that warning with operations on newdf. (Note - I modified the code a little to be able to reference newdf)

– Irv
Mar 25 at 21:07





@coldspeed I think both operations produce a copy of the data, so you won't get that warning with operations on newdf. (Note - I modified the code a little to be able to reference newdf)

– Irv
Mar 25 at 21:07













v = df[['b']]; v['b'] = 3 throws SettingWithCopyWarning. The warning is raised on chained assignments, regardless of whether you have a view or copy. You don't have this issue with loc. That's my point.

– cs95
Mar 25 at 21:09





v = df[['b']]; v['b'] = 3 throws SettingWithCopyWarning. The warning is raised on chained assignments, regardless of whether you have a view or copy. You don't have this issue with loc. That's my point.

– cs95
Mar 25 at 21:09












1 Answer
1






active

oldest

votes


















0














Thanks to @coldspeed, it seems that newdf = df.loc[:,['b','d']] is preferred to avoid the dreaded SettingWithCopyWarning.






share|improve this answer






















    Your Answer






    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: "1"
    ;
    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: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    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
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55346080%2fpreferred-pandas-code-for-selecting-all-rows-and-a-subset-of-columns%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    Thanks to @coldspeed, it seems that newdf = df.loc[:,['b','d']] is preferred to avoid the dreaded SettingWithCopyWarning.






    share|improve this answer



























      0














      Thanks to @coldspeed, it seems that newdf = df.loc[:,['b','d']] is preferred to avoid the dreaded SettingWithCopyWarning.






      share|improve this answer

























        0












        0








        0







        Thanks to @coldspeed, it seems that newdf = df.loc[:,['b','d']] is preferred to avoid the dreaded SettingWithCopyWarning.






        share|improve this answer













        Thanks to @coldspeed, it seems that newdf = df.loc[:,['b','d']] is preferred to avoid the dreaded SettingWithCopyWarning.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 25 at 22:13









        IrvIrv

        667 bronze badges




        667 bronze badges


















            Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.







            Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.



















            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • 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.

            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%2fstackoverflow.com%2fquestions%2f55346080%2fpreferred-pandas-code-for-selecting-all-rows-and-a-subset-of-columns%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

            How to preserve electronics (computers, tablets and phones) for hundreds of years Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) The network's official Twitter account is up and running again. What content…How might modern humans leave a message for 50,000 years?How would an aquatic race develop computers?How do we make computers care for human life?Keeping supplies for 1000 yearsWhat will cell phones become in 100 years?What body armor protects against a laser?Could a society attain 1800s technology if limited to using copper and bronze?Electricity power (magic) and electronicsScavenging metal resources in post-apocalypse after 100 yearsWhy would precursors create devices that can survive and still work after hundreds of years?

            155 수학 과학 기타 둘러보기 메뉴eh추가해eh문서를 완성해

            Convert JSON to MapSimplest way to convert a string representing JSON array into Java array List of key value pairsHow to take String JSON values into HashMapConvert a JSON String to a HashMapCreating BSON object from JSON stringJSONObject - How to get a value ?Better Map ConstructorReading JSON from Url javaUpdate columns if input values are not null otherwise ignore and keep the existing values of column in databaseHow to store object represented as Json string into Couchbase Lite?Go JSON into MapHow do I efficiently iterate over each entry in a Java Map?Sort a Map<Key, Value> by valuesHow to round a number to n decimal places in JavaCan comments be used in JSON?How do I read / convert an InputStream into a String in Java?How can I pretty-print JSON in a shell script?What is the correct JSON content type?How can I deserialize JSON to a simple Dictionary<string,string> in ASP.NET?Why does Google prepend while(1); to their JSON responses?Parse JSON in JavaScript?