![](/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.