【发布时间】:2019-05-25 07:52:18
【问题描述】:
我有一个 csv 文件,如下所示:
100%Q,mean(ms),P50(ms),P99(ms),p99.9(ms),#Samples
QCT1,0.0376542 0.044935 0.090388 0.091279 1760105,,,,
QCT2,0.0489372 0.044953 0.090606 0.091422 1354230,,,,
QCT3,0.0447087 0.045008 0.046186 0.063825 123448,,,,
RCT,0.38646 0.38588 0.844293 1.01548 7295875,,,,
WCT,NA NA NA NA NA,,,,
我想清除标题上所有这些杂乱的空格以及所有不必要的逗号,并将其转换为另一个数据帧,无论它是逗号/空格分隔的,以便我可以与另一个数据帧进行一些比较。
我已经尝试了一些东西,比如 grepping 几列和清理标题和所有东西,但这是我目前使用 pandas 的结果: 制表符分隔时的数据框如下所示:
import pandas as pd
df1=pd.read_csv("results/actual.csv",sep='\t')
df1
100%Q,mean(ms),P50(ms),P99(ms),p99.9(ms),#Samples
QCT1,0.03 0.05 0.09 0.09 5,,,,
QCT2,0.04 0.04 0.09 0.09 0,,,,
QCT3,0.04 0.08 0.04 0.06 8,,,,
RCT,0.3 0.3 0.8 1.01 5,,,,
WCT,NA NaN NaN NaN NA,,,,
数据框的进一步输出默认如下所示:
df2=pd.read_csv("results/actual.csv",usecols=range(0,6))
df2
100%Q mean(ms) P50(ms) P99(ms) p99.9(ms) #Samples
QCT1 0.03\t0.05\t0.09\t0.09\t5 NaN NaN NaN NaN
QCT2 0.04\t0.04\t0.09\t0.09\t0 NaN NaN NaN NaN
QCT3 0.04\t0.08\t0.04\t0.06\t8 NaN NaN NaN NaN
RCT 0.3\t0.3\t0.8\t0.01\t5 NaN NaN NaN NaN
WCT NA\tNA\tNA\tNA\tNA NaN NaN NaN NaN
我希望它看起来像这样:
100%Q mean(ms) P50(ms) P99(ms) p99.9(ms) #Samples
QCT1 0.03 0.05 0.09 0.09 5
QCT2 0.04 0.04 0.09 0.09 0
QCT3 0.04 0.08 0.04 0.06 8
RCT 0.3 0.3 0.8 1.01 5
WCT NA NaN NaN NaN NA
问题在于额外的空格以及标题中的空格。有没有办法可以将其转换为具有通用分隔符的数据框。 .如果有人可以帮助我解决这个问题并用 Pandas 解决这个问题,那就太好了。
注意:请忽略实际表格中的值,因为我已对其进行了操作以将其放入框架中,以使其看起来不错并且对每个人都有意义。
【问题讨论】:
标签: python-3.x pandas csv dataframe