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

            Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

            SQL error code 1064 with creating Laravel foreign keysForeign key constraints: When to use ON UPDATE and ON DELETEDropping column with foreign key Laravel error: General error: 1025 Error on renameLaravel SQL Can't create tableLaravel Migration foreign key errorLaravel php artisan migrate:refresh giving a syntax errorSQLSTATE[42S01]: Base table or view already exists or Base table or view already exists: 1050 Tableerror in migrating laravel file to xampp serverSyntax error or access violation: 1064:syntax to use near 'unsigned not null, modelName varchar(191) not null, title varchar(191) not nLaravel cannot create new table field in mysqlLaravel 5.7:Last migration creates table but is not registered in the migration table

            은진 송씨 목차 역사 본관 분파 인물 조선 왕실과의 인척 관계 집성촌 항렬자 인구 같이 보기 각주 둘러보기 메뉴은진 송씨세종실록 149권, 지리지 충청도 공주목 은진현