I have a pandas DataFrame that has multiple columns in it:
Index: 239897 entries, 2012-05-11 15:20:00 to 2012-06-02 23:44:51 Data columns: foo 11516 non-null values bar 228381 non-null values Time_UTC 239897 non-null values dtstamp 239897 non-null values dtypes: float64(4), object(1) where foo and bar are columns which contain the same data yet are named differently. Is there are a way to move the rows which make up foo into bar, ideally whilst maintaining the name of bar?
In the end the DataFrame should appear as:
Index: 239897 entries, 2012-05-11 15:20:00 to 2012-06-02 23:44:51 Data columns: bar 239897 non-null values Time_UTC 239897 non-null values dtstamp 239897 non-null values dtypes: float64(4), object(1) That is the NaN values that made up bar were replaced by the values from foo.
you can use directly fillna and assigning the result to the column 'bar'
df['bar'].fillna(df['foo'], inplace=True) del df['foo'] general example:
import pandas as pd #creating the table with two missing values df1 = pd.DataFrame({'a':[1,2],'b':[3,4]}, index = [1,2]) df2 = pd.DataFrame({'b':[5,6]}, index = [3,4]) dftot = pd.concat((df1, df2)) print dftot #creating the dataframe to fill the missing values filldf = pd.DataFrame({'a':[7,7,7,7]}) #filling print dftot.fillna(filldf)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With