I am converting my data frame to pivot table. Here's my Data frame.
+----+---------------------+----
| | A| B| C | D |
|----+---------------------+-----
| 0 | a| OK| one | col1 |
| 1 | b| OK| two | col1 |
| 2 | c| OK| two | col2 |
| 3 | d| OK| Four | NaN |
| 4 | e| OK| Five | NaN |
| 5 | f| OK| Six | NaN |
| 6 | g| NaN| NaN | Col3 |
| 7 | h| NaN| NaN | Col4 |
| 8 | i| NaN| NaN | Col5 |
+----+---------------------+-----
I.m doing-->
pivot_data = df.pivot(index='C', columns = 'D', values = 'B')
This is my output.
+------------------+-------+-----------+-------------+-----
| | NaN| Col1| col2 | col3 | col4 | col5 |
|------------------+-------+-----------+-------------+------
| NaN | NaN| NaN| NaN| NaN| NaN| NaN|
| four | OK| NaN| NaN| NaN| NaN| NaN|
| six | OK| NaN| NaN| NaN| NaN| NaN|
| one | NaN| OK| NaN| NaN| NaN| NaN|
| two | NaN| OK| OK| NaN| NaN| NaN|
| five | OK | NaN| NaN| NaN| NaN| NaN|
+------------------+-------+-----------+-------------+------
This is my desired output. When I'm using pivot_table instead of pivot I'm not getting rows and cols with all values NaN. But it is important to have all those rows/cols.
How can I achieve the below desired output.
+------------------+-------+-----------+-----------
| | Col1| col2 | col3 | col4 | col5 |
|------------------+-------+-----------+------------
| four | NaN| NaN| NaN| NaN| NaN|
| six | NaN| NaN| NaN| NaN| NaN|
| one | OK| NaN| NaN| NaN| NaN|
| two | OK| OK| NaN| NaN| NaN|
| five | NaN| NaN| NaN| NaN| NaN|
+------------------+-------+-----------+------------
Thank you .
Update:
Updated data set which giving Value error: Index contains duplicate entries. Cannot reshape.
+----+---------------------+-----------+-----------
| | A | B| C| D |
|----+---------------------+-----------+------------
| 0 | 3957 | OK| One | TM-009.4 |
| 1 | 3957 | OK| two | TM-009.4 |
| 2 | 4147 | OK| three| CERT008 |
| 3 | 3816 | OK| four | FITEYE-04 |
| 4 | 3955 | OK| five | TM-009.2 |
| 5 | 4147 | OK| six | CERT008 |
| 6 | 4147 | OK| seven| CERT008 |
| 7 | 3807 | OK| seven| EMT-038.4 |
| 8 | nan | OK| eight| nan |
| 9 | nan | OK| nine | nan |
| 10 | nan | OK| ten | nan |
| 11 | nan | OK| 11 | nan |
| 12 | nan | OK| 12 | nan |
| 13 | nan | OK| 13 | nan |
| 14 | nan | OK| 14 | nan |
| 15 | nan | OK| 14 | nan |
| 16 | 3814 | nan | nan | FITEYE-02 |
| 17 | 3819 | nan | nan | FITEYE-08 |
| 18 | 3884 | nan | nan | TG-000.8 |
| 19 | 4087 | nan | nan | TM-042.1 |
+----+---------------------+-----------+-------------