<p>也可以使用数据帧方法计算NRR:</p>
<pre><code>import pandas as pd
ddf = pd.DataFrame(score) # dictionary to dataframe
ddf.balls = ddf.balls.astype(int) # convert string to integers
ddf.runs = ddf.runs.astype(int)
ddf['NRR']= 100 * ddf.runs / ddf.balls # calculate NRR
print(ddf)
</code></pre>
<p>输出:</p>
<pre><code> balls dismissal fours name runs six NRR
0 92 run out (Hardik Pandya) 5 Amla 71 0 77.173913
1 32 c Kohli b Bumrah 4 Markram(c) 32 1 100.000000
2 5 c Rohit b Hardik Pandya 0 Duminy 1 0 20.000000
</code></pre>
<p>也可以转换为字典:</p>
<pre><code>newdict = ddf.to_dict(orient='records')
print(newdict)
</code></pre>
<p>输出:</p>
<pre><code>[{'dismissal': 'run out (Hardik Pandya)', 'NRR': 77.17391304347827, 'runs': 71, 'fours': '5', 'name': 'Amla', 'balls': 92, 'six': '0'},
{'dismissal': 'c Kohli b Bumrah', 'NRR': 100.0, 'runs': 32, 'fours': '4', 'name': 'Markram(c)', 'balls': 32, 'six': '1'},
{'dismissal': 'c Rohit b Hardik Pandya', 'NRR': 20.0, 'runs': 1, 'fours': '0', 'name': 'Duminy', 'balls': 5, 'six': '0'}]
</code></pre>
<p>对于保龄球经济(如评论中所问):</p>
<pre><code>bowler= [ { "maidens": "0", "runs": "15", "overs": "4", "name": "D Willey*", "wickets": "2" }, { "maidens": "0", "runs": "32", "overs": "3", "name": "Jhye Richardson", "wickets": "2" } ]
ddf = pd.DataFrame(bowler)
ddf['economy'] = 100* ddf.runs.astype(int) / (ddf.overs.astype(int) * 6)
print(ddf)
</code></pre>
<p>输出:</p>
<pre><code> maidens name overs runs wickets economy
0 0 D Willey* 4 15 2 62.500000
1 0 Jhye Richardson 3 32 2 177.777778
</code></pre>