Setting flag column depending on whether column contains a given string
Clash Royale CLAN TAG#URR8PPP
Can anyone see why this isn't working?
Its trying to do; if Column Name Contains the text 'Andy', then make a column called Andy and set that row = to 1
df.loc[df['Name'].str.contains(['Andy']),'Andy']=1
python string pandas series
add a comment |
Can anyone see why this isn't working?
Its trying to do; if Column Name Contains the text 'Andy', then make a column called Andy and set that row = to 1
df.loc[df['Name'].str.contains(['Andy']),'Andy']=1
python string pandas series
If you are planning to do this for other names then consider get_dummies method pandas.pydata.org/pandas-docs/stable/generated/…
– shantanuo
Dec 16 at 14:01
add a comment |
Can anyone see why this isn't working?
Its trying to do; if Column Name Contains the text 'Andy', then make a column called Andy and set that row = to 1
df.loc[df['Name'].str.contains(['Andy']),'Andy']=1
python string pandas series
Can anyone see why this isn't working?
Its trying to do; if Column Name Contains the text 'Andy', then make a column called Andy and set that row = to 1
df.loc[df['Name'].str.contains(['Andy']),'Andy']=1
python string pandas series
python string pandas series
edited Dec 14 at 9:32
asked Dec 13 at 9:25
fred.schwartz
2958
2958
If you are planning to do this for other names then consider get_dummies method pandas.pydata.org/pandas-docs/stable/generated/…
– shantanuo
Dec 16 at 14:01
add a comment |
If you are planning to do this for other names then consider get_dummies method pandas.pydata.org/pandas-docs/stable/generated/…
– shantanuo
Dec 16 at 14:01
If you are planning to do this for other names then consider get_dummies method pandas.pydata.org/pandas-docs/stable/generated/…
– shantanuo
Dec 16 at 14:01
If you are planning to do this for other names then consider get_dummies method pandas.pydata.org/pandas-docs/stable/generated/…
– shantanuo
Dec 16 at 14:01
add a comment |
2 Answers
2
active
oldest
votes
You have to remove list, need only string:
df.loc[df['Name'].str.contains('Andy'),'Andy'] = 1
For multiple values chain by |
:
df.loc[df['Name'].str.contains('Andy|George'),'Andy'] = 1
add a comment |
pd.Series.str.contains
requires for its pat
argument a "Character sequence or regular expression", not a list.
Just use Boolean assignment and convert to int
. This will set unmatched rows to 0
. For example:
# Name includes 'Andy'
df['Andy'] = df['Name'].str.contains('Andy').astype(int)
# Name includes 'Andy' or 'George'
df['Andy'] = df['Name'].str.contains('Andy|George').astype(int)
@fred.Schwartz, Yes, that's not valid regex for what you want. That's a separate question.
– jpp
Dec 14 at 9:31
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%2f53758621%2fsetting-flag-column-depending-on-whether-column-contains-a-given-string%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You have to remove list, need only string:
df.loc[df['Name'].str.contains('Andy'),'Andy'] = 1
For multiple values chain by |
:
df.loc[df['Name'].str.contains('Andy|George'),'Andy'] = 1
add a comment |
You have to remove list, need only string:
df.loc[df['Name'].str.contains('Andy'),'Andy'] = 1
For multiple values chain by |
:
df.loc[df['Name'].str.contains('Andy|George'),'Andy'] = 1
add a comment |
You have to remove list, need only string:
df.loc[df['Name'].str.contains('Andy'),'Andy'] = 1
For multiple values chain by |
:
df.loc[df['Name'].str.contains('Andy|George'),'Andy'] = 1
You have to remove list, need only string:
df.loc[df['Name'].str.contains('Andy'),'Andy'] = 1
For multiple values chain by |
:
df.loc[df['Name'].str.contains('Andy|George'),'Andy'] = 1
answered Dec 13 at 9:30
jezrael
319k22258336
319k22258336
add a comment |
add a comment |
pd.Series.str.contains
requires for its pat
argument a "Character sequence or regular expression", not a list.
Just use Boolean assignment and convert to int
. This will set unmatched rows to 0
. For example:
# Name includes 'Andy'
df['Andy'] = df['Name'].str.contains('Andy').astype(int)
# Name includes 'Andy' or 'George'
df['Andy'] = df['Name'].str.contains('Andy|George').astype(int)
@fred.Schwartz, Yes, that's not valid regex for what you want. That's a separate question.
– jpp
Dec 14 at 9:31
add a comment |
pd.Series.str.contains
requires for its pat
argument a "Character sequence or regular expression", not a list.
Just use Boolean assignment and convert to int
. This will set unmatched rows to 0
. For example:
# Name includes 'Andy'
df['Andy'] = df['Name'].str.contains('Andy').astype(int)
# Name includes 'Andy' or 'George'
df['Andy'] = df['Name'].str.contains('Andy|George').astype(int)
@fred.Schwartz, Yes, that's not valid regex for what you want. That's a separate question.
– jpp
Dec 14 at 9:31
add a comment |
pd.Series.str.contains
requires for its pat
argument a "Character sequence or regular expression", not a list.
Just use Boolean assignment and convert to int
. This will set unmatched rows to 0
. For example:
# Name includes 'Andy'
df['Andy'] = df['Name'].str.contains('Andy').astype(int)
# Name includes 'Andy' or 'George'
df['Andy'] = df['Name'].str.contains('Andy|George').astype(int)
pd.Series.str.contains
requires for its pat
argument a "Character sequence or regular expression", not a list.
Just use Boolean assignment and convert to int
. This will set unmatched rows to 0
. For example:
# Name includes 'Andy'
df['Andy'] = df['Name'].str.contains('Andy').astype(int)
# Name includes 'Andy' or 'George'
df['Andy'] = df['Name'].str.contains('Andy|George').astype(int)
answered Dec 13 at 9:46
jpp
90.1k2052101
90.1k2052101
@fred.Schwartz, Yes, that's not valid regex for what you want. That's a separate question.
– jpp
Dec 14 at 9:31
add a comment |
@fred.Schwartz, Yes, that's not valid regex for what you want. That's a separate question.
– jpp
Dec 14 at 9:31
@fred.Schwartz, Yes, that's not valid regex for what you want. That's a separate question.
– jpp
Dec 14 at 9:31
@fred.Schwartz, Yes, that's not valid regex for what you want. That's a separate question.
– jpp
Dec 14 at 9:31
add a comment |
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.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- 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%2f53758621%2fsetting-flag-column-depending-on-whether-column-contains-a-given-string%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
If you are planning to do this for other names then consider get_dummies method pandas.pydata.org/pandas-docs/stable/generated/…
– shantanuo
Dec 16 at 14:01