我有一个名为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版本。
非常感谢。
我知道这是一个老问题,但我刚刚遇到了一个类似的问题,我想我所做的也会对你有用。
我使用了to_csv()方法并向标准输出写了:
import sys
paramdata.to_csv(sys.stdout)
无论是否可以很好地打印,这都应该转储整个数据帧,并且您可以使用to_csv参数来配置列分隔符、是否打印索引等。
编辑:现在可以使用无
作为的目标。to_csv()
具有类似的效果,这可以说是好得多:
paramdata.to_csv(None)
屏幕上显示的数据太多,因此会显示摘要。
如果您仍想输出数据(可能无法在屏幕上显示,而且看起来也不太好):
print paramdata.values
将数据帧转换为其数字数组矩阵表示形式。
paramdata.columns
存储相应的列名和
paramdata.index
存储相应的索引(行名称)。
使用:
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