从数据帧字典中获取值

2024-03-29 15:14:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经把一个数据帧转换成了一个字典,并且在一个for函数中使用了一个字典值,但是它给了我以下的错误

df = 
Metal                         Medium Carbon Steel
Max Compressive Stress/MPa                    305
Cost per m^3/$                               4301
I/mm^4                                3.27869e+07
inner_radius_quarted                  5.82544e+07
inner_radius/mm                           87.3639
thickness/mm                              12.6361
volume/mm^3                               12636.1
cost/$                                  0.0543477

a1 = df.to_dict()

P = [P -1,P +1]

for i in P:
   x = (i * L * y) / (a1[1][u'I/mm^4'] * 4)
if x > a1[1][u'Max Compressive Stress/MPa']:
    print "A point load of", i, ", will break the beam"
else:
    print "A point load of", i, ", will not break the beam"



KeyError                                  Traceback (most recent call last)
<ipython-input-255-8d9325dc6d75> in <module>()
      2 
      3 for i in P:
----> 4     x = (i * L * y) / (a1[1][u'I/mm^4'] * 4)
      5     if x > a1[1][u'Max Compressive Stress/MPa']:
      6         print "A point load of", i, ", will break the beam"

KeyError: 1

Tags: oftheinfora1loadwillmax
1条回答
网友
1楼 · 发布于 2024-03-29 15:14:57

你看过a1吗。它并不是你想要的那样

{'Medium Carbon Steel': {'Cost per m^3/$': 4301.0,
  'I/mm^4': 32786900.0,
  'Max Compressive Stress/MPa': 305.0,
  'cost/$': 0.054347699999999999,
  'inner_radius/mm': 87.363900000000001,
  'inner_radius_quarted': 58254400.0,
  'thickness/mm': 12.636100000000001,
  'volume/mm^3': 12636.1}}

试试看

a1 = df['Medium Carbon Steel'].to_dict()

P = [P -1,P +1]

for i in P:
    x = (i * L * y) / (a1['I/mm^4'] * 4)
if x > a1['Max Compressive Stress/MPa']:
    print("A point load of", i, ", will break the beam")
else:
    print("A point load of", i, ", will not break the beam")

相关问题 更多 >