我正在尝试输出有关表的统计信息,然后使用Pandas和numpy输出更多表数据。
当我执行以下代码时:
import pandas as pd
import numpy as np
data = pd.read_csv(r'c:\Documents\DS\CAStateBuildingMetrics.csv')
waterUsage = data["Water Use (All Water Sources) (kgal)"]
dept = data[["Department Name", "Property Id"]]
mean = str(waterUsage.mean())
median = str(waterUsage.median())
most = str(waterUsage.mode())
hw1 = open(r'c:\Documents\DS\testFile', "a")
hw1.write("Mean Water Usage Median Water Usage Most Common Usage Amounts\n")
hw1.write(mean+' '+median+' '+most)
np.savetxt(r'c:\Documents\DS\testFile', dept.values, fmt='%s')
在将平均值,中位数和模式用水量的统计数据写入文件之前,np.savetext输出的表格将写入c:\Documents\DS\testFile
。以下是我所描述的输出:
以下是表输出的示例,最终为1700行。
Capitol Area Development Authority 1259182
国会区发展局1259200
国会区发展局1259218
加州林业与消防部门3939905
加州林业与消防部门3939906
加州林业与消防部门3939907
此后,脚本将以此格式输出统计信息
平均用水量中位数水用量最常见用量量 6913.1633414932685 182.35 0 165.0
键入:float64
如何调整行为以确保统计信息显示在表格之前?
答案 0 :(得分:1)
正如@hpaulj所指出的那样,问题是没有引用相同的打开文件。
更换
np.savetxt(r'c:\Documents\DS\testFile', dept.values, fmt='%s')
使用
np.savetxt(hw1, dept.values, fmt='%s')
hw1.close()
将以预期顺序在同一文件中写入所有信息。 Closing it遵循在Python中处理文件的最佳实践。