मेरे पास निम्न डेटाफ्रेम है -
ID Name Distance Time Base Height
1 A 10 2 12 2
2 A 20 4 14 3
3 B 30 6 16 4
4 B 40 8 18 5
5 C 50 10 20 6
6 C 60 12 22 8
मैं नए कॉलम Speed, Tarea, Speed_ratio, Tarea_ratio
बनाना चाहता हूं जिनके मान पंक्तियों में मानों से A,B,C
के रूप में निम्नानुसार हैं -
ID Name Distance Time Base Height Speed Tarea Speed_ratio Tarea_ratio
1 A 10 2 12 2 5 12 1 0.5714
2 A 20 4 14 3 5 21 NA NA
3 B 30 6 16 4 5 32 1 0.7111
4 B 40 8 18 5 5 45 NA NA
5 C 50 10 20 6 5 60 1 0.6818
6 C 60 12 22 8 5 88 NA NA
क्या यह किया जा सकता है? धन्यवाद।
3 जवाब
आप नीचे कर सकते हैं:
In [431]: df['Speed'] = df.Distance.div(df.Time)
In [433]: df['Tarea'] = df.Base.mul(df.Height)/2
In [447]: df['Speed_ratio'] = df.Speed / df.groupby('Name').Speed.shift(-1)
In [450]: df['Tarea_ratio'] = df.Tarea / df.groupby('Name').Tarea.shift(-1)
In [451]: df
Out[451]:
ID Name Distance Time Base Height Speed Tarea Speed_ratio Tarea_ratio
0 1 A 10 2 12 2 5.0 12.0 1.0 0.571429
1 2 A 20 4 14 3 5.0 21.0 NaN NaN
2 3 B 30 6 16 4 5.0 32.0 1.0 0.711111
3 4 B 40 8 18 5 5.0 45.0 NaN NaN
4 5 C 50 10 20 6 5.0 60.0 1.0 0.681818
5 6 C 60 12 22 8 5.0 88.0 NaN NaN
आप बस कॉलम के बीच ऑपरेटरों का उपयोग कर सकते हैं:
df["Speed"]=5
df["Tarea"]=df["Base"]*df["Height"]/2 # that column will have float values, if you want to have integer values, use astype() method.
आप df[key] = value
का उपयोग करके नए कॉलम असाइन कर सकते हैं, जैसा कि आप किसी नेटिव dict
ऑब्जेक्ट के लिए करेंगे। आपके विशेष मामले के लिए, निम्नलिखित कार्य करेगा:
df["Speed"] = df["Distance"] / df["Time"]
df["Tarea"] = df["Base"] * df["Height"] / 2
df["Speed_ratio"] = df["Speed"].iloc[::2] / df["Speed"].iloc[1::2].values
df["Tarea_ratio"] = df["Tarea"].iloc[::2] / df["Tarea"].iloc[1::2].values
जो निम्नलिखित pandas.DataFrame
देता है:
ID Name Distance Time Base Height Speed Tarea Speed_ratio Tarea_ratio
1 A 10 2 12 2 5.0 12.0 1.0 0.571429
2 A 20 4 14 3 5.0 21.0 NaN NaN
3 B 30 6 16 4 5.0 32.0 1.0 0.711111
4 B 40 8 18 5 5.0 45.0 NaN NaN
5 C 50 10 20 6 5.0 60.0 1.0 0.681818
6 C 60 12 22 8 5.0 88.0 NaN NaN
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।