I have a pandas df
that I want to manipulate so it's ordered. So for the df
below, I'd like ['I']
to be ordered. So values would read 10-50. I have 2 options to do this;
1) Try to delete values in Column ['G']
or ['H']
. So if values are == X
then delete.
2) Try to merge values in the same Columns when they are == X
import pandas as pd
d = pd.DataFrame({
'J' : [10,'B','C','C',50],
'I' : ['B',20,30,40,'C'],
'H' : ['X','A','C','B','X'],
'G' : ['X', 'B', 'A','B','X'],
})
Output:
G H I J
0 X X B 10
1 B A 20 B
2 A C 30 C
3 B B 40 C
4 X X C 50
Option 1 is we delete X
from Column H
and the intended output would be:
G H I J
0 X B 10
1 B A 20 B
2 A C 30 C
3 B B 40 C
4 X C 50
Option 2 is we merge on X
in Column G-H
and the intended output would be:
G H I J
0 XX B 10
1 B A 20 B
2 A C 30 C
3 B B 40 C
4 XX C 50
I have played around with df = df.drop(df.H == 'X')
but this deletes the whole row.
DataFrame
if necessary? IfX
is inH
column there is alwaysX
inG
column? – Pedlar