Pandas - Create a symmetric matrix that counts the number of records The Next CEO of Stack OverflowCount the number occurrences of a character in a stringPandas: create two new columns in a dataframe with values calculated from a pre-existing columnHow can I replace all the NaN values with Zero's in a column of a pandas dataframeCreating an empty Pandas DataFrame, then filling it?“Large data” work flows using pandasChange data type of columns in PandasHow do I get the row count of a Pandas dataframe?How to make good reproducible pandas examplesPandas Replace NaN with blank/empty stringPopulating a “count matrix” with combinations of pandas DataFrame rows
Is there a difference between "Fahrstuhl" and "Aufzug"
Received an invoice from my ex-employer billing me for training; how to handle?
Elegant way to replace substring in a regex with optional groups in Python?
How to solve a differential equation with a term to a power?
Why has the US not been more assertive in confronting Russia in recent years?
What's the best way to handle refactoring a big file?
Is there an analogue of projective spaces for proper schemes?
Complex fractions
How to safely derail a train during transit?
Why do remote companies require working in the US?
How to count occurrences of text in a file?
Multiple labels for a single equation
What connection does MS Office have to Netscape Navigator?
Which tube will fit a -(700 x 25c) wheel?
Written every which way
Would a completely good Muggle be able to use a wand?
How do I avoid eval and parse?
How to invert MapIndexed on a ragged structure? How to construct a tree from rules?
Rotate a column
WOW air has ceased operation, can I get my tickets refunded?
Do I need to enable Dev Hub in my PROD Org?
Why do airplanes bank sharply to the right after air-to-air refueling?
Why does the UK parliament need a vote on the political declaration?
How to start emacs in "nothing" mode (`fundamental-mode`)
Pandas - Create a symmetric matrix that counts the number of records
The Next CEO of Stack OverflowCount the number occurrences of a character in a stringPandas: create two new columns in a dataframe with values calculated from a pre-existing columnHow can I replace all the NaN values with Zero's in a column of a pandas dataframeCreating an empty Pandas DataFrame, then filling it?“Large data” work flows using pandasChange data type of columns in PandasHow do I get the row count of a Pandas dataframe?How to make good reproducible pandas examplesPandas Replace NaN with blank/empty stringPopulating a “count matrix” with combinations of pandas DataFrame rows
I have a dataframe that looks like the one below
ID | Value
1 | A
1 | B
1 | C
2 | B
2 | C
I want to create a symmetric matrix of based on Value:
A B C
A 1 1 1
B 1 2 2
C 1 2 2
This basically indicates how many people have both values (v1,v2). I am currently using for loops to scan the dataframe for every combination but was wondering if there was an easier way to do it using pandas.
python pandas
add a comment |
I have a dataframe that looks like the one below
ID | Value
1 | A
1 | B
1 | C
2 | B
2 | C
I want to create a symmetric matrix of based on Value:
A B C
A 1 1 1
B 1 2 2
C 1 2 2
This basically indicates how many people have both values (v1,v2). I am currently using for loops to scan the dataframe for every combination but was wondering if there was an easier way to do it using pandas.
python pandas
add a comment |
I have a dataframe that looks like the one below
ID | Value
1 | A
1 | B
1 | C
2 | B
2 | C
I want to create a symmetric matrix of based on Value:
A B C
A 1 1 1
B 1 2 2
C 1 2 2
This basically indicates how many people have both values (v1,v2). I am currently using for loops to scan the dataframe for every combination but was wondering if there was an easier way to do it using pandas.
python pandas
I have a dataframe that looks like the one below
ID | Value
1 | A
1 | B
1 | C
2 | B
2 | C
I want to create a symmetric matrix of based on Value:
A B C
A 1 1 1
B 1 2 2
C 1 2 2
This basically indicates how many people have both values (v1,v2). I am currently using for loops to scan the dataframe for every combination but was wondering if there was an easier way to do it using pandas.
python pandas
python pandas
asked Mar 8 at 14:26
NiviNivi
4101513
4101513
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Use merge with cross join by ID
column with crosstab
and DataFrame.rename_axis
for remove index and columns names:
df = pd.merge(df, df, on='ID')
df = pd.crosstab(df['Value_x'], df['Value_y']).rename_axis(None).rename_axis(None, axis=1)
print (df)
A B C
A 1 1 1
B 1 2 2
C 1 2 2
1
'Value_x' and 'Value_y' are to be specified or are they inbuilt keywords? Thanks for the help.
– Nivi
Mar 8 at 14:30
1
Got it. Thanks!
– Nivi
Mar 8 at 14:46
1
@Nivi - It isindex
andcolumns
names created from columns names aftercrosstab
– jezrael
Mar 8 at 14:46
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%2f55065199%2fpandas-create-a-symmetric-matrix-that-counts-the-number-of-records%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
Use merge with cross join by ID
column with crosstab
and DataFrame.rename_axis
for remove index and columns names:
df = pd.merge(df, df, on='ID')
df = pd.crosstab(df['Value_x'], df['Value_y']).rename_axis(None).rename_axis(None, axis=1)
print (df)
A B C
A 1 1 1
B 1 2 2
C 1 2 2
1
'Value_x' and 'Value_y' are to be specified or are they inbuilt keywords? Thanks for the help.
– Nivi
Mar 8 at 14:30
1
Got it. Thanks!
– Nivi
Mar 8 at 14:46
1
@Nivi - It isindex
andcolumns
names created from columns names aftercrosstab
– jezrael
Mar 8 at 14:46
add a comment |
Use merge with cross join by ID
column with crosstab
and DataFrame.rename_axis
for remove index and columns names:
df = pd.merge(df, df, on='ID')
df = pd.crosstab(df['Value_x'], df['Value_y']).rename_axis(None).rename_axis(None, axis=1)
print (df)
A B C
A 1 1 1
B 1 2 2
C 1 2 2
1
'Value_x' and 'Value_y' are to be specified or are they inbuilt keywords? Thanks for the help.
– Nivi
Mar 8 at 14:30
1
Got it. Thanks!
– Nivi
Mar 8 at 14:46
1
@Nivi - It isindex
andcolumns
names created from columns names aftercrosstab
– jezrael
Mar 8 at 14:46
add a comment |
Use merge with cross join by ID
column with crosstab
and DataFrame.rename_axis
for remove index and columns names:
df = pd.merge(df, df, on='ID')
df = pd.crosstab(df['Value_x'], df['Value_y']).rename_axis(None).rename_axis(None, axis=1)
print (df)
A B C
A 1 1 1
B 1 2 2
C 1 2 2
Use merge with cross join by ID
column with crosstab
and DataFrame.rename_axis
for remove index and columns names:
df = pd.merge(df, df, on='ID')
df = pd.crosstab(df['Value_x'], df['Value_y']).rename_axis(None).rename_axis(None, axis=1)
print (df)
A B C
A 1 1 1
B 1 2 2
C 1 2 2
edited Mar 8 at 14:30
answered Mar 8 at 14:28
jezraeljezrael
352k26317391
352k26317391
1
'Value_x' and 'Value_y' are to be specified or are they inbuilt keywords? Thanks for the help.
– Nivi
Mar 8 at 14:30
1
Got it. Thanks!
– Nivi
Mar 8 at 14:46
1
@Nivi - It isindex
andcolumns
names created from columns names aftercrosstab
– jezrael
Mar 8 at 14:46
add a comment |
1
'Value_x' and 'Value_y' are to be specified or are they inbuilt keywords? Thanks for the help.
– Nivi
Mar 8 at 14:30
1
Got it. Thanks!
– Nivi
Mar 8 at 14:46
1
@Nivi - It isindex
andcolumns
names created from columns names aftercrosstab
– jezrael
Mar 8 at 14:46
1
1
'Value_x' and 'Value_y' are to be specified or are they inbuilt keywords? Thanks for the help.
– Nivi
Mar 8 at 14:30
'Value_x' and 'Value_y' are to be specified or are they inbuilt keywords? Thanks for the help.
– Nivi
Mar 8 at 14:30
1
1
Got it. Thanks!
– Nivi
Mar 8 at 14:46
Got it. Thanks!
– Nivi
Mar 8 at 14:46
1
1
@Nivi - It is
index
and columns
names created from columns names after crosstab
– jezrael
Mar 8 at 14:46
@Nivi - It is
index
and columns
names created from columns names after crosstab
– jezrael
Mar 8 at 14:46
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.
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%2f55065199%2fpandas-create-a-symmetric-matrix-that-counts-the-number-of-records%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