内核在处理 DataFrame 时死掉

Kernel dies when processing DataFrame

我已经能够让它执行一次,但从那以后内核就挂起然后死掉。任何帮助将不胜感激。

[数据帧头]

new_companies_df['Total Raised']= new_companies_df['Total Raised'].str.replace('$','')

#Program ref source:https://www.geeksforgeeks.org/python-convert-suffix-denomination-to-values/

#Initialize values dictionary
val_dict = {"M": 1000000, "B": 100000000,'K':1000,'None': 0}

result = []

for x in new_companies_df['Total Raised']:
   
 for key in val_dict:
        if key in value:
  
            # conversion of dictionary keys to values
            val = (x.replace(key, "")) * val_dict[key]
            result.append(val)

new_companies_df['Total Raised ($)'] = result

new_companies_df.head()

您可能需要考虑将 pandas 中的 .apply() 函数直接与自定义函数或 lambda 表达式一起使用。像这样

def replace(x):
  val_dict = {"M": 1000000, "B": 100000000,'K':1000,'None': 0}

  for key in val_dict:
    if key in x:
      value = float(x.replace(key, ""))  # converting to float is important
      multiplier = float(val_dict[key])
      return value * multiplier

new_companies_df['Total Raised ($)']  = new_companies_df['Total Raised'].apply(replace)

我没有看到任何到浮点数的转换。我怀疑你的内核死了,因为你将字符串与大量的数字相乘,这会得到非常糟糕的结果。例如

"1" * 10 # this produces -> "1111111111"
1 * 10 # this produces -> 10