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;
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
add a comment |
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
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 onnewdf
. (Note - I modified the code a little to be able to referencenewdf
)
– Irv
Mar 25 at 21:07
v = df[['b']]; v['b'] = 3
throwsSettingWithCopyWarning
. The warning is raised on chained assignments, regardless of whether you have a view or copy. You don't have this issue withloc
. That's my point.
– cs95
Mar 25 at 21:09
add a comment |
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
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
pandas
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 onnewdf
. (Note - I modified the code a little to be able to referencenewdf
)
– Irv
Mar 25 at 21:07
v = df[['b']]; v['b'] = 3
throwsSettingWithCopyWarning
. The warning is raised on chained assignments, regardless of whether you have a view or copy. You don't have this issue withloc
. That's my point.
– cs95
Mar 25 at 21:09
add a comment |
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 onnewdf
. (Note - I modified the code a little to be able to referencenewdf
)
– Irv
Mar 25 at 21:07
v = df[['b']]; v['b'] = 3
throwsSettingWithCopyWarning
. The warning is raised on chained assignments, regardless of whether you have a view or copy. You don't have this issue withloc
. 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
add a comment |
1 Answer
1
active
oldest
votes
Thanks to @coldspeed, it seems that newdf = df.loc[:,['b','d']]
is preferred to avoid the dreaded SettingWithCopyWarning
.
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Thanks to @coldspeed, it seems that newdf = df.loc[:,['b','d']]
is preferred to avoid the dreaded SettingWithCopyWarning
.
add a comment |
Thanks to @coldspeed, it seems that newdf = df.loc[:,['b','d']]
is preferred to avoid the dreaded SettingWithCopyWarning
.
add a comment |
Thanks to @coldspeed, it seems that newdf = df.loc[:,['b','d']]
is preferred to avoid the dreaded SettingWithCopyWarning
.
Thanks to @coldspeed, it seems that newdf = df.loc[:,['b','d']]
is preferred to avoid the dreaded SettingWithCopyWarning
.
answered Mar 25 at 22:13
IrvIrv
667 bronze badges
667 bronze badges
add a comment |
add a comment |
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.
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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 referencenewdf
)– Irv
Mar 25 at 21:07
v = df[['b']]; v['b'] = 3
throwsSettingWithCopyWarning
. The warning is raised on chained assignments, regardless of whether you have a view or copy. You don't have this issue withloc
. That's my point.– cs95
Mar 25 at 21:09