回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个CSV文件,如下所示:</p>
<pre><code>index,Avg,Min,Max
Build1,56.19,39.123,60.1039
Build2,57.11,40.102,60.2
Build3,55.1134,35.129404123,60.20121
</code></pre>
<p>根据我的问题<a href="https://stackoverflow.com/questions/44929516/python-pandas-working-with-numeric-data-but-adding-non-numeric-data-back">here</a>我可以通过这个简短的脚本向csv添加一些相关信息:</p>
<pre><code>import pandas as pd
df = pd.read_csv('newdata.csv')
print(df)
df_out = pd.concat([df.set_index('index'),df.set_index('index').agg(['max','min','mean'])]).rename(index={'max':'Max','min':'Min','mean':'Average'}).reset_index()
with open('newdata.csv', 'w') as f:
df_out.to_csv(f,index=False)
</code></pre>
<p>这将导致此CSV:</p>
<pre><code>index,Avg,Min,Max
Build1,56.19,39.123,60.1039
Build2,57.11,40.102,60.2
Build3,55.1134,35.129404123,60.20121
Max,57.11,40.102,60.20121
Min,55.1134,35.129404123,60.1039
Average,56.1378,38.1181347077,60.16837
</code></pre>
<p>我想现在有它,以便我可以更新这个csv。例如,如果我运行一个新的构建(例如build4),我可以将其添加到中,然后重做Max、Min、Average行。因此,我的想法是删除带有Max、Min、Average标签的行,添加新行,重做统计。我相信我需要的代码很简单(只针对Max,但也有Min和Average的行):</p>
<pre><code>df = pd.read_csv('newdata.csv')
df = df.drop('Max')
</code></pre>
<p>但是,这始终会导致值错误:轴中不包含标签['Max']</p>
<p>我已经用sublime文本创建了csv文件,这可能是问题的一部分吗?我读过其他关于这个的帖子,但似乎没有一篇对我的问题有帮助。</p>
<p>我不确定是否允许这样做,但这里有一个<a href="https://drive.google.com/file/d/0BxmTrEaEFKHbLUFrSE5nTnVqZ1E/view?usp=sharing" rel="noreferrer">download link to my csv</a>以防文件本身有问题。</p>
<p>我可以接受两个可能的答案:</p>
<ol>
<li>如何解决此放置问题</li>
<li>如何添加更多生成并更新统计信息(一个不带drop的方法)</li>
</ol>