我想从导入的excel数据中找出服务器相对于环境的比率。
我用熊猫来导入excel
Data=pd.read_excel(r"...\Report.xlsx")
我已经针对环境(“ ENV”)和服务器名称使用了groupby,并使用reset_index命名了结果列
result=Data.groupby(["ENV"])["SRVR_NM"].count().reset_index(name='Server_count')
我正在使用上面的代码跟踪结果
ENV Server_count
DR 1924
Development 4808
Integration 687
Lab 185
Production 7619
QA 2284
现在我想找到每种环境下服务器的比例。
例如,第一列1/1924 = 0.051975,1 / 4808 = 0.020799等。
如何找到上述结果的比例并显示类似结果
ENV Server_count Ratio
DR 1924 0.051975
Development 4808 0.020799
Integration 687 .
Lab 185 .
Production 7619 .
QA 2284 .
答案 0 :(得分:0)
如果您想要的是Server_count
列的倒数乘以100:
result["Ratio"] = (1 / result["Server_count"]) * 100
答案 1 :(得分:0)
我认为您想要的输出是错误的,似乎您想要每个ENV
与总数的比率。为此,您可以将 value_counts
与 normalize=True
一起使用:
options = ['DR', 'Development', 'Integration', 'Lab', 'Production', 'QA']
df = pd.DataFrame([random.choice(options) for _ in range(10000)], columns=['ENV'])
使用 value_counts
:
df.ENV.value_counts(normalize=True)
QA 0.1732
Production 0.1677
Development 0.1677
Lab 0.1644
DR 0.1638
Integration 0.1632
Name: ENV, dtype: float64