【问题标题】:How do I either remove index of the data frame or replace it?如何删除数据框的索引或替换它?
【发布时间】:2018-09-03 03:15:15
【问题描述】:

这是我当前的数据框。

 df =pd.DataFrame({'Observation':index,'x':x,'y':y,'dx':np.round(dx, decimals 
 =2),'vx':np.round(vx, decimals=2),'dy':np.round(dy, 
 decimals=2),'vy':np.round(vy, decimals=2), 'pxy':np.round(pxy, decimals=2)})
 df = df.reindex_axis(['Observation','x','y','dx','vx','dy','vy', 'pxy'], 
 axis=1)
 df.loc['SUM']=df.
 df

我希望我的观察列成为数据框的索引。我该怎么做?此外,dx、dy、vx、vy 和 pxy 列中的值是否可以显示为小数点后 2 位?

【问题讨论】:

  • 请不要使用图片..
  • @Merlin 那他应该怎么张贴桌子?
  • @Agile_Eagle 将表格复制并粘贴为 txt。这个 SO 人可以复制表格 txt。

标签: python python-3.x pandas dataframe indexing


【解决方案1】:

您可以使用 pandas set_index() 方法将数据框的索引更改为您的列值。

df.set_index('Observation')

API Documentation

APInumpy.round() 用于对浮点值进行四舍五入,小数点后不附加 0。为此,您需要使用 python 内置函数format()。所以你的代码应该是:

format(x, '.2f')

关注此堆栈溢出线程以获取更多信息:Add zeros to a float after the decimal point in Python

【讨论】:

  • 特定列中的值的小数点后两位怎么办?我试过 np.round(),但没用。
  • 使用函数format(x,'%.2f')来实现这个...@user234568
  • 对于舍入,您也可以使用 df.round() 函数:pandas.pydata.org/pandas-docs/stable/generated/…
【解决方案2】:

希望我理解正确

这将清除之前的索引:

df.reset_index(inplace=True)

这将设置索引:

df.set_index('Observation', inplace=True)

这将显示 2 个小数位:

df.round(2)

【讨论】:

  • 我认为 reset_index 会给你另一个名为 'index' 的列,在这种情况下你应该删除它。 :)
【解决方案3】:

这对我有用。

这会删除列名:

df.columns = ['' for index in range(len(df.columns))]

这将删除 [0, 1, 2...] 默认索引:

df.index = ('' for index in range(len(df.index)))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-26
    • 1970-01-01
    • 1970-01-01
    • 2017-04-22
    • 2011-07-14
    • 2012-03-12
    • 2019-08-24
    • 2020-01-04
    相关资源
    最近更新 更多