![](/img/trans.png)
[英]Dropping the index column from DataFrame in a .csv file in Pandas
[英]Dropping a "garbage" column from pandas dataframe
我正在盡我最大的努力從一個格式特別糟糕的文件中繪制一些數據(我無法更改文件的格式,所以我必須圍繞我遇到的問題進行構建)。 我正在嘗試從文件中導入數據,並刪除一些我不需要的垃圾數據,例如錯誤消息,但我很掙扎。
在這里,我有一個函數可以讓我打開我想要使用的文件,以及一些將其格式化為數據幀的解決方法:
headers = ['Date','Time','Pressure','Temperature','Bias','RefTemp', 'Garbage']
def plotDigitalFunction():
infile=askopenfilename()
df = pd.read_csv(infile,sep="\t",names=headers, skiprows=1, parse_dates=[['Date','Time']])
df = df.drop('Garbage', axis=1)
我的文件頂部看起來像這樣:
Date Time Pressure Temperature Bias Error
06.02.12 13:42:19:549 -2689 895524 1842052 27.0 ERROR: T1B1
所以,這里我有 6 個標題和 7 列。 我跳過第一行,設置我自己的標題並組合日期和時間,所以我有 6 個(我需要同一列中的日期和時間戳)。
我曾嘗試在 jupyter notebook 中使用此代碼,並且它完美無缺。 我得到這樣的東西:
Date_Time Pressure Temperature Bias RefTemp
0 06.02.12 13:42:19:549 -2689 895524 1842052 27.0
1 06.02.12 13:42:20:546 -2689 895467 1841921 27.0
2 06.02.12 13:42:21:544 -2689 895388 1841817 27.0
3 06.02.12 13:42:22:543 -2691 895287 1841672 27.0
但是當我在 python 3.6.2 中運行相同的代碼時,似乎只是列標題被刪除,它下面的數據被移動並放置在它左側的列下。 這行不通,我正在努力弄清楚我做錯了什么。
我之前有一個解決方案來打開文件,然后創建一個臨時的 csv 文件,然后我從中讀取,該文件有效。 但是要運行的數據量相當大,因此處理時間要加倍。
我希望這解釋得足夠好,如果我需要詳細說明,請不要猶豫提出問題。
提前致謝!
編輯:我只是在控制台中嘗試了相同的代碼,使用硬編碼的文件名而不是使用帶有 tkinter 的 askopenfilename() 的“infile”。 效果很好。 問題可能是因為這個嗎?
可能與您使用的python版本有關。 檢查您在 jupyter 中使用的 Python 版本並使用相同的版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.