ValueError:'str'类型对象的未知格式代码'f' - 为什么我第二次得到这个但不是第一次?

时间:2014-07-14 15:16:04

标签: python pandas dataframe

以下是我的代码。我正在尝试打印前250行和下250行,并制定策略以复制我的主数据帧,重新排序,然后将百分比格式化为带有“%”符号的字符串格式。不幸的是我收到了一个ValueError:未知格式代码'f'用于upreportdataframe行上类型'str'的对象,但不是downreportdataframe。为什么会这样?

这是否与数据框的复制方式有关?

upreportdataframe.sort(['dailypctchange'], ascending = False, inplace=True)
downreportdataframe = upreportdataframe
downreportdataframe.is_copy = False
downreportdataframe.sort(['dailypctchange'], ascending = True, inplace = True)
downreportdataframe['dailypctchange'] = pd.Series(
    ["{0:.2f}%".format(val * 100)
     for val in downreportdataframe['dailypctchange']],
    downreportdataframe.index)

upreportdataframe['dailypctchange'] = pd.Series(
    ["{0:.2f}%".format(val * 100)
     for val in upreportdataframe['dailypctchange']],
    upreportdataframe.index)

1 个答案:

答案 0 :(得分:1)

downreportdataframe upreportdataframe的副本;它只是对同一个对象的另一个引用。

如果您想要副本,请使用dataframe.copy() method

downreportdataframe = upreportdataframe.copy()