【发布时间】:2019-01-23 22:26:07
【问题描述】:
我的代码应该返回大约 65 列数据的统计分析(来自调查的问题)。下面给出了示例数据以及当前代码。目前,输出仅显示不包含字符串的列(对于其他列,它们返回为 NaN,甚至不显示在 Excel 中)。
我认为问题是由于一些数据点被标记为“无数据”而一些数据点被标记为“异常值”
我想学习一种方法来忽略异常值/无数据点并显示其余数据的平均值或中位数等统计信息。我也很想学习如何结合条件函数来显示结果,例如“响应计数 > 4.25”,以便我可以扩展分析。
Q1 Q2 Q3 Q4 Q5 Q6
4.758064516 4.709677419 4.629032258 Outlier 4.708994709 4.209677419
4.613821138 No Data 4.259259259 4.585774059 4.255927476 Outlier
4.136170213 4.309322034 4.272727273 4.297169811 No Data 4.29468599
4.481558803 4.581476323 4.359495445 4.558252427 4.767926491 3.829030007
4.468085106 4.446808511 4.425531915 4.446808511 4.423404255 4.14893617
代码:
import pandas as pd
from pandas import ExcelWriter
# Pull in Data
path = r"C:\Users\xx.xx\desktop\Python\PyTest\Pyxx.xlsx"
sheet = 'Adjusted Data'
data = pd.read_excel(path,sheet_name=sheet)
#Data Analysis
analysis = pd.DataFrame(data.agg(['count','min','mean', 'median', 'std']), columns=data.columns).transpose()
print(analysis)
g1 = data.groupby('INDUSTRY').median()
print(g1)
g2 = data.groupby('New Zone').median()
print(g2)
#Excel
path2 = r"C:\Users\xx.xx\desktop\Python\PyTest\Pyxx2.xlsx"
writer = ExcelWriter(path2)
g1.to_excel(writer,'x')
g2.to_excel(writer,'y')
analysis.to_excel(writer,'a')
data.to_excel(writer,'Adjusted Data')
writer.save()
编辑 计算对 Q1 的响应有多少 > X(在这种情况下,K1 = COUNTIF(K1:K999,TRUE))
【问题讨论】:
-
这完全是因为字符串。 Thay 不能与双数相加。这是一个未定义的操作,因此是 Nan。
-
我希望总结每列中的所有非字符串值。这可能吗?另外,在分析过程中,空白是否会被视为零?
标签: python python-3.x