当前位置: 首页 > 知识库问答 >
问题:

以[duplicate]格式从数据帧中的所有列输出数据

贝研
2023-03-14

我有一个名为params.csv的csv文件。我打开了ipython qtconsole,并使用以下方法创建了一个pandasdataframe

import pandas
paramdata = pandas.read_csv('params.csv', names=paramnames)

其中,paramnames是字符串对象的python列表。paramnames示例(实际列表长度为22):

paramnames = ["id",
"fc",
"mc",
"markup",
"asplevel",
"aspreview",
"reviewpd"]

在ipython提示下,如果我键入paramdata并按enter键,则不会获得带有列和值的数据框,如Pandas网站上的示例所示。相反,我得到了关于数据帧的信息。我得到:

In[35]: paramdata
Out[35]: 
<class 'pandas.core.frame.DataFrame'>
Int64Index: 59 entries, 0 to 58
Data columns:
id                    59  non-null values
fc                    59  non-null values
mc                    59  non-null values
markup                59  non-null values
asplevel              59  non-null values
aspreview             59  non-null values
reviewpd              59  non-null values

如果我键入paramdata['mc'],那么我会得到mc列的预期值。我有两个问题:

(1) 在熊猫网站上的示例中(例如,请参见df的输出:http://pandas.sourceforge.net/indexing.html#additional-列访问(column access)键入数据框的名称将给出实际数据。为什么我得到的是如上所示的数据帧信息而不是实际数据?我需要在某处设置一些输出选项吗?

(2)我如何输出数据框中的所有列到屏幕上,而不必键入它们的名称,即,不必键入类似参数数据[['id','fc','mc']]

我用的是熊猫0.8版本。

非常感谢。

共有3个答案

西门高歌
2023-03-14

我知道这是一个老问题,但我刚刚遇到了一个类似的问题,我想我所做的也会对你有用。

我使用了to_csv()方法并向标准输出写了:

import sys

paramdata.to_csv(sys.stdout)

无论是否可以很好地打印,这都应该转储整个数据帧,并且您可以使用to_csv参数来配置列分隔符、是否打印索引等。

编辑:现在可以使用作为的目标。to_csv()具有类似的效果,这可以说是好得多:

paramdata.to_csv(None)
葛桐
2023-03-14

屏幕上显示的数据太多,因此会显示摘要。

如果您仍想输出数据(可能无法在屏幕上显示,而且看起来也不太好):

print paramdata.values

将数据帧转换为其数字数组矩阵表示形式。

paramdata.columns

存储相应的列名和

paramdata.index

存储相应的索引(行名称)。

燕英奕
2023-03-14

使用:

pandas.set_option('display.max_columns', 7)

这将迫使熊猫显示您拥有的7列。或者更一般地说:

pandas.set_option('display.max_columns', None)

这将强制它显示任意数量的列。

说明:max_columns的默认值是0,它告诉Pandas只有当所有的列都可以压缩到控制台的宽度时才显示该表。

或者,您可以使用例如:

pandas.set_option('display.width', 200)
 类似资料:
  • 问题内容: 我有一个名称为的csv文件。我打开并使用以下方法创建了一个熊猫: 其中,是字符串对象的python列表。示例(实际列表的长度为22): 在ipython提示符下,如果我键入并按Enter键,则不会获得带有列和值的数据框,如Pandas网站上的示例所示。相反,我获得有关数据框的信息。我得到: 如果我键入,那么我确实会获得该列的预期值。我有两个问题: (1)在pandas网站上的示例中(例

  • 我有两个数据帧,我们称它们为A和B。它们有完全相同的7列(我们称它们为col1、col2、col3、col4、col5、col6和col7)。有些栏目包括客户id、客户名、客户姓、电话号码等(出于保密目的,我无法透露确切的姓名)。 DataFrame A比DataFrame B大得多,DataFrame B中的一些条目包含在DataFrame A中(即DataFrame A)。DataFrame

  • 在哪里可以配置Jupyter,使DataFrame对象在默认情况下显示为带边框的完整表? 现在看起来是这样的:

  • 问题内容: 我有以以下格式(示例)保存的数据(数字): 是否有任何python-way方法来排列数字并将其作为 (我无法预测列的大小)。 问题答案: 这是一个简单的独立示例,显示了如何设置可变列宽的格式: 输出:

  • 我运行了一段python代码,得到了如下数据帧输出: 现在我没有第7行到第29行。如何获取所有行?

  • 问题内容: 是否有一条SQL命令将列出数据库中的所有表,并且该命令与提供程序无关(可在MSSQLServer,Oracle,MySQL上运行)? 问题答案: 最接近的选项是查询表。 它是标准SQL的一部分,但并非所有供应商都支持它。据我所知,唯一支持它的RDBMS供应商是: 的MySQL PostgreSQL的 微软SQL服务器2000年/ 2005年/ 2008年 一些品牌的数据库,例如Orac