आप एकल-पंक्ति डेटाफ़्रेम (जो अभी भी एक डेटाफ़्रेम में परिणाम है) को स्थानांतरित कर सकते हैं और फिर एक श्रृंखला (उलटा ) में परिणामों को निचोड़ सकते हैंto_frame
।
df = pd.DataFrame([list(range(5))], columns=["a{}".format(i) for i in range(5)])
>>> df.T.squeeze()
a0 0
a1 1
a2 2
a3 3
a4 4
Name: 0, dtype: int64
नोट: @IanS द्वारा उठाए गए बिंदु को समायोजित करने के लिए (भले ही यह ओपी के प्रश्न में नहीं है), डेटाफ्रेम के आकार के लिए परीक्षण करें। मैं मान रहा हूं कि df
एक डेटाफ़्रेम है, लेकिन किनारे के मामले एक खाली डेटाफ़्रेम, आकृति के डेटाफ़्रेम (1, 1) हैं, और एक डेटाफ़्रेम एक से अधिक पंक्ति के साथ होता है, जिस स्थिति में उपयोग को उनकी वांछित कार्यक्षमता को लागू करना चाहिए।
if df.empty:
result = pd.Series()
elif df.shape == (1, 1)
result = pd.Series(df.iat[0, 0], index=df.columns)
elif len(df) == 1:
result = df.T.squeeze()
else:
pass
यह @themachinist द्वारा दिए गए उत्तर की तर्ज पर भी सरल बनाया जा सकता है।
if len(df) > 1:
pass
else:
result = pd.Series() if df.empty else df.iloc[0, :]
df.T