は私が例をあげてみようこの条件を満たす行は1行だけです。あなたが見ることができるようにパンダDATAFRAME /シリーズ値の書式設定の問題
df1 = df.loc[df['a'] == 0]
print(df1)
a b
0 0 1
type(df1)
pandas.core.frame.DataFrame
df2 = df.loc[0]
print(df2)
a 0
b 1
Name: 0, dtype: int32
type(df2)
pandas.core.series.Series
、df1
はDataFrame
インスタンスですが、df1
は一列のみを有するがdf2
は、Series
です。
print('{:.2f}'.format(df1['a']))
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-92-62c2a3e8dbc0> in <module>()
----> 1 print('{:.2f}'.format(df1['a']))
TypeError: unsupported format string passed to Series.__format__
それはdf2
の値を印刷するには大丈夫だ:私はdf1
の値をフォーマットしようとすると、
今、問題が発生します。
print('{:.2f}'.format(df2['a']))
0.00
私はdf1
がDataFrame
あるからだということを理解し、df1['a']
はSeries
だろうが、format()
関数に渡される引数がSeries
オブジェクト以外 他の何かを期待しています。だから、私はこの厄介なことを回避しようとしました:
print('{:.2f}'.format(df1['a'].values[0]))
0.00
もっと効率的でpythnoicはここにありますか?
あなたは文字列としてすべての値をフォーマットしようとしていますか?またはフロートに変換?ありがとう。 –