【问题标题】:Remove excess info from dataframe从数据框中删除多余的信息
【发布时间】:2018-04-24 17:59:49
【问题描述】:

我有一个包含 6 列的大数据框。当我想从一个单元格中打印信息时,我使用以下代码:

df = pd.read_excel(Path_files_data)
info_rol = df.loc[df.Rank == Ranknumber]
print(info_rol['Art_Nr'])

这里 Rank 是给出每个项目排名的列,Ranknumber 是我尝试查找的项目的排名。我回来的样子是这样的:

0    10399
Name: Art_Nr, dtype: object

这里 0 是等级,10399 是 Art_Nr。我如何让它工作,它只打印出 Art_Nr。并留下 dtype: object 之类的废话。

PS。我尝试了脱衣舞,但这对我不起作用。

【问题讨论】:

  • 当然,这很容易。只需继承 pd.Series 并修改其 __repr__ 方法。
  • 实际上,我对您所说的“废话”很感兴趣。你到底想漏掉什么?只有dtype?还是只想打印数值?
  • @djk47463 这是一个非常有趣的副本。但是 col 名称呢?
  • @cᴏʟᴅsᴘᴇᴇᴅ,OP 只是从数据框 info_rol['Art_Nr'] 中调用一个系列,它不会打印列标题。那在底部打印为系列的Name:,使用来自dupe的代码时不显示

标签: python pandas dataframe


【解决方案1】:

我认为您需要通过iatiloc 为标量选择系列的第一个值:

print(info_rol['Art_Nr'].iat[0])

print(info_rol['Art_Nr'].iloc[0])

如果string或数字输出:

print(info_rol['Art_Nr'].values[0])

但是在过滤之后你可能会得到多个值,然后第二个,第三个..值会丢失。

所以转换为列表是更通用的解决方案:

print(info_rol['Art_Nr'].tolist())

【讨论】:

    猜你喜欢
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    相关资源
    最近更新 更多