簡體   English   中英

從數據框字典中獲取值

[英]Taking values from a dataframe dictionary

我已將數據幀轉換為字典,並已將其中一個字典值用於'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

你有沒有看着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")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM