内核在处理 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
我已经能够让它执行一次,但从那以后内核就挂起然后死掉。任何帮助将不胜感激。
[数据帧头]
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