मैं कुछ डेटा आयात करने के लिए डिफ़ॉल्ट पंडों सीएसवी रीडिंग का उपयोग करता हूं:

df = pd.read_csv('data_file.csv')

मुझे जो डेटा फ्रेम मिला वह नीचे जैसा है:

           Force [N]      Stress [MPa] 
0            0.000000       2.230649e-13
1            0.014117       1.071518e-01
2            0.135255       3.365490e+00

मुझे यहां जो डेटा फ्रेम कॉलम मिला है, उसमें वास्तविक नाम (नीचे दिखाया गया है) से पहले रिक्त स्थान हैं ताकि मैं बाद में कॉलम तक पहुंचने के लिए वास्तविक कॉलम नाम स्ट्रिंग का उपयोग न कर सकूं।

>>> df.columns
Index(['       Force [N]', '    Stress [MPa] '])

मैं स्ट्रिंग के पहले स्थान को हटाना चाहता हूं, लेकिन कॉलम नाम स्ट्रिंग के भीतर स्थान रखना चाहता हूं। निम्नलिखित की कोशिश की लेकिन यह सभी रिक्त स्थान को हटा देगा ताकि कॉलम का नाम भी बदल जाए।

df.columns=df.columns.str.replace(' ','');

सीएसवी आयात करते समय कॉलम नाम के बाईं ओर सफेद रिक्त स्थान को पट्टी करने के लिए वैसे भी है? मैं चाहता हूं कि कॉलम का नाम इस तरह हो:

'Force [N]','Stress [MPa]'
2
Kai03 11 जुलाई 2021, 23:50

2 जवाब

replace दृष्टिकोण का एक आसान विकल्प है rename:

df = df.rename(columns=str.strip)

या inplace का उपयोग कर रहे हैं:

df.rename(columns=str.strip, inplace=True)
1
DeepSpace 11 जुलाई 2021, 21:04

pandas.Series.str.replace ^[ ]+|[ ]+$ की घटनाओं को बदलने के लिए (आरंभ या अंत में एक या अधिक स्थान कॉलम नामों में से) "" के साथ (कुछ नहीं)

df.columns = df.columns.str.replace("^[ ]+|[ ]+$", "", regex=True)
1
Alex 11 जुलाई 2021, 21:07