我有一个 CSV 文件,其屏幕截图如下所示: 我的目标是获取不包括标题部分的数据框行。
我的目的:我使用函数 astype() 将行中的数据转换为 "float64",然后使用 pandas 将数据四舍五入到小数点后两位>round() 函数。其代码如下所示:
df = pd.read_csv('C:/Users/viral/PycharmProjects/Samples/036_20191009T132130.CSV',skiprows = 1)
df = df.astype('float64', errors="ignore")
df = df.round(decimals=2)
如您所见,我跳过了第一行以排除标题部分。
但不幸的是,数据没有四舍五入到小数点后两位。结果如下所示 :
我不确定,但我猜 Empty Data frame 这行在对数据进行四舍五入时造成了问题。
即使 header= 1 也会以与 skiprow=1 相同的方式运行。
欢迎提出任何建议...
谢谢
最佳答案
我相信你需要:
file = 'C:/Users/viral/PycharmProjects/Samples/036_20191009T132130.CSV'
#for default columns 0,1,2, N with omit first row in original data
df = pd.read_csv(file,skiprows = 1, header=None)
#for columns names by first row in file omit skiprows and header parameters
#df = pd.read_csv(file)
#if necessary, convert to floats
df = df.astype('float64', errors="ignore")
#select only numeric columns
cols = df.select_dtypes(np.number).columns
#round only numeric cols
df[cols] = df[cols].round(decimals=2)
关于python - 获取 Pandas 中不包括标题的数据框行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58723781/