2014-11-19 20 views
16

में विशिष्ट कॉलम भरें यदि मेरे पास एकाधिक कॉलम ['x', 'y', 'z'] के साथ डेटाफ्रेम डीएफ है, तो मैं केवल एक कॉलम 'x' या स्तंभों के समूह को भरने के लिए कैसे आगे बढ़ूं [ 'एक्स', 'y']?आगे पांडा डेटाफ्रेम

मुझे केवल यह पता है कि अक्ष द्वारा इसे कैसे किया जाए।

उत्तर

26

पाश को The रूप @Woody गौरव ने सुझाव दिया अनावश्यक है। आप इसे करने के लिए कम कर सकते हैं:

cols = ['X', 'Y'] 
df[cols] = df[cols].ffill() 

और मैं भी एक आत्म युक्त उदाहरण जोड़ लिया है:

>>> import pandas as pd 
>>> import numpy as np 
>>> 
>>> #%% create dataframe 
... ts1 = [0, 1, np.nan, np.nan, np.nan, np.nan] 
>>> ts2 = [0, 2, np.nan, 3, np.nan, np.nan] 
>>> d = {'X': ts1, 'Y': ts2, 'Z': ts2} 
>>> df = pd.DataFrame(data=d) 
>>> print(df.head()) 
    X Y Z 
0 0 0 0 
1 1 2 2 
2 NaN NaN NaN 
3 NaN 3 3 
4 NaN NaN NaN 
>>> 
>>> #%% apply forward fill 
... col = ['X', 'Y'] 
>>> df[col] = df[col].ffill() 
>>> print(df.head()) 
    X Y Z 
0 0 0 0 
1 1 2 2 
2 1 2 NaN 
3 1 3 3 
4 1 3 NaN 

(आम तौर पर मैं @Woody गौरव के उत्तर पर टिप्पणी की है |, लेकिन मैं प्रतिनिधि नहीं है।)

2
for col in ['X', 'Y']: 
    df[col] = df[col].ffill() 
संबंधित मुद्दे