我得到一个空的 Dataframe ,当我使用pivot.table函数与values=“SWAP_SPREAD”它把我逼疯了。我不知道发生了什么,这应该是一个简单的步骤,但我做了识别问题与我的代码。
您可以在此处查找数据框https://github.com/MIturribarria/SWAP_SPREAD/blob/main/Data.csv
df = df.pivot_table(index='FECHA',columns='TICKET', values = 'SWAP_SPREAD')
print(df)
我得到一个空的 Dataframe ,我不知道为什么。
我明白了
空数据框列:[]索引:[2002-01-01 00:00:00,2002-01-02 00:00:00,2002-01-03 00:00:00,2002-01-04 00:00:00,2002-01-07 00:00:00,2002-01-08 00:00:00,2002 -01-09 00:00:00,2002-01-10 00:00:00,...]
期望得到一个 Dataframe
2条答案
按热度按时间sg24os4d1#
当你使用
pivot_table
而不带aggfunc
参数时,默认值是np.mean
,所以values
列必须是数字。但是在你的例子中,SWAP_SPREAD
列的dtype是object
。如果你使用pivot
代替pivot_table
,它可以工作。你也可以将aggfunc='first'
传递给pivot_table
:正如你所看到的,你的数据不干净。有些值是
#¡VALOR!
,这就是为什么你的列是object
而不是float64
。你能做的最好的事情就是把这些值转换成NaN
,用pd.read_csv
很容易:一个二个一个一个
现在您的列只包含数值,因此您可以同时使用
pivot_table
或pivot
:魔术,但请记住,当你有重复的,即为同一对
(FECHA, TICKET)
:pivot_table
应用聚合函数(默认为np.mean
)。pivot
引发异常ValueError: Index contains duplicate entries, cannot reshape
。wlzqhblo2#
代码中的所有内容都是正确的,唯一的问题是所有列的数据类型都是
object
。您可以通过以下方法解决此问题:
现在只需用途:
这就给了你想要的