Pivoting a pandas dataframe to generate a (seaborn) heatmap

Brainlock

I'm new to Python and fairly new to SO.

I have a pandas dataframe named df which looks like:

                                 Text
Date        Location                           
2015-07-08  San Diego, CA        1
2015-07-07  Bellevue, WA         1
            Los Angeles, CA      1
            New York, NY         1
            Los Angeles, CA      1
            Unknown              1

I want to pivot the data using:

import pandas, numpy as np

df_pivoted = df.pivot_table(df, values=['Text'], index=['Date'],
    columns=['Location'],aggfunc=np.sum)

The idea is to generate a heat map that shows the count of "Text" by "Location" and "Date".

I get error:

TypeError: pivot_table() got multiple values for keyword argument 'values'

When using a simplified approach:

df = df.pivot_table('Date', 'Location', 'Text')

I get error:

raise DataError('No numeric types to aggregate')

I'm using Python 2.7 and Pandas 0.16.2

In[2]: df.dtypes
Out[2]: 
Date        datetime64[ns]
Text                object
Location            object
dtype: object

Anyone having an idea?

Jianxun Li
import pandas as pd
import numpy as np

# just try to replicate your dataframe
# ==============================================
date = ['2015-07-08', '2015-07-07', '2015-07-07', '2015-07-07', '2015-07-07', '2015-07-07']
location = ['San Diego, CA', 'Bellevue, WA', 'Los Angeles, CA', 'New York, NY', 'Los Angeles, CA', 'Unknown']
text = [1] * 6
df = pd.DataFrame({'Date': date, 'Location': location, 'Text': text})

Out[141]: 
         Date         Location  Text
0  2015-07-08    San Diego, CA     1
1  2015-07-07     Bellevue, WA     1
2  2015-07-07  Los Angeles, CA     1
3  2015-07-07     New York, NY     1
4  2015-07-07  Los Angeles, CA     1
5  2015-07-07          Unknown     1

# processing
# ==============================================
pd.pivot_table(df, index='Date', columns='Location', values='Text', aggfunc=np.sum)

Out[142]: 
Location    Bellevue, WA  Los Angeles, CA  New York, NY  San Diego, CA  Unknown
Date                                                                           
2015-07-07             1                2             1            NaN        1
2015-07-08           NaN              NaN           NaN              1      NaN

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

seaborn heatmap using pandas dataframe

From Dev

generate a heatmap from a dataframe with python and seaborn

From Dev

Pandas dataframe pivoting

From Dev

Pivoting Dataframe with Pandas

From Dev

pandas and seaborn - heatmap with no colors

From Java

Pivoting pandas dataframe by rank on id

From Dev

Pandas Dataframe Stacking versus Pivoting

From Dev

Resampling, grouping, pivoting a pandas dataframe

From Dev

bin DataFrame in pandas for heatmap

From Dev

Pivoting a pandas dataframe with duplicate index values

From Dev

Pivoting a Pandas dataframe with a gapless daterange as index

From Dev

pivoting pandas dataframe into prefixed cols, not a MultiIndex

From Dev

How to efficiently columnize (=pivoting) pandas DataFrame (with groupby)?

From Dev

Pivoting pandas DataFrame -- AssertionError: Index length did not match values

From Dev

Pivoting a Pandas Dataframe containing strings - 'No numeric types to aggregate' error

From Dev

Pandas Dataframe to Seaborn Grouped Barchart

From Dev

Annotate heatmap with value from Pandas dataframe

From Dev

How to plot a heatmap from pandas DataFrame

From Dev

Type error in visualising pandas dataframe as heatmap

From Dev

Plotting 3 cols of pandas dataframe as heatmap

From Dev

Generate permutation of a Pandas Dataframe

From Dev

Custom Annotation Seaborn Heatmap

From Dev

Seaborn Heatmap Key Words

From Dev

Seaborn custom range heatmap

From Dev

Using seaborn heatmap

From Dev

Show dates on seaborn heatmap

From Dev

Seaborn heatmap to plotly failed

From Dev

Pivoting data in pandas

From Dev

Pandas: Pivoting and plotting workflow