[英]Formatting in a code constantly causes the ValueError: Unknown format code 'f' for object of type 'str'?
[英]ValueError: Unknown format code 'f' for object of type 'str'
有人可以幫我解決我在標題中得到的錯誤代碼。
我已經嘗試按照我在網上閱讀的內容中提到的添加浮動,但這也不起作用。
`df['Conv. Rates']=df['Conv. Rates'].apply(lambda x: "
{0:.2f}%".format(x))
df.head()`
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/var/folders/_c/86br91rx4fx2j35rrmbfkp6h0000gn/T/ipykernel_6452/1132564018.py in <module>
----> 1 df['Conv. Rates']=df['Conv. Rates'].apply(lambda x: "{0:.2f}%".format(x))
2 df.head()
/opt/anaconda3/lib/python3.9/site-packages/pandas/core/series.py in apply(self, func, convert_dtype, args, **kwargs)
4431 dtype: float64
4432 """
-> 4433 return SeriesApply(self, func, convert_dtype, args, kwargs).apply()
4434
4435 def _reduce(
/opt/anaconda3/lib/python3.9/site-packages/pandas/core/apply.py in apply(self)
1086 return self.apply_str()
1087
-> 1088 return self.apply_standard()
1089
1090 def agg(self):
/opt/anaconda3/lib/python3.9/site-packages/pandas/core/apply.py in apply_standard(self)
1141 # List[Union[Callable[..., Any], str]]]]]"; expected
1142 # "Callable[[Any], Any]"
-> 1143 mapped = lib.map_infer(
1144 values,
1145 f, # type: ignore[arg-type]
/opt/anaconda3/lib/python3.9/site-packages/pandas/_libs/lib.pyx in pandas._libs.lib.map_infer()
/var/folders/_c/86br91rx4fx2j35rrmbfkp6h0000gn/T/ipykernel_6452/1132564018.py in <lambda>(x)
----> 1 df['Conv. Rates']=df['Conv. Rates'].apply(lambda x: "{0:.2f}%".format(x))
2 df.head()
ValueError: Unknown format code 'f' for object of type 'str'
問題是x
是一個字符串而不是你期望的浮點數,所以"12.345"
只是六個字符,就好像它是"python"
一樣,而 Python 不知道如何用小數點格式化它。
你可以做
df['Conv. Rates'].astype("float")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.