当前位置: 首页 > 面试题库 >

从熊猫的数据框中的所有列输出数据

龚国源
2023-03-14
问题内容

我有一个名称为的csv文件params.csv。我打开ipython qtconsoledataframe使用以下方法创建了一个熊猫:

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)在pandas网站上的示例中(例如,请参见df此处的输出:http : //pandas.sourceforge.net/indexing.html#additional-column-
access
),键入数据框的名称即可得出实际的数据。为什么我要获得有关上述数据框而不是实际数据的信息?我是否需要在某处设置一些输出选项?

(2)如何将数据框中的所有列输出到屏幕,而不必键入其名称,即不必键入paramdata[['id','fc','mc']]

我正在使用0.8版本的熊猫。

谢谢。


问题答案:

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

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

print paramdata.values

将数据帧转换为其numpy-array矩阵表示形式。

paramdata.columns

存储相应的列名称,并

paramdata.index

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



 类似资料:
  • 使用pandas dataframe假设我有如下结构相似的数据帧: 我想要一个新的2列(Choise,Value),它满足“a_Cho”、“b_Cho”和“c_Cho”中所有值的以下条件 如果“a_Cho”=true,则选择“a_n”,值=a对应于“a_Cho”的值如果“a_Cho”=false,则移动到下一步 如果“b_Cho”=true,则选择“b_n”,值=b表示“b_Cho”的对应值,如果

  • 我想使用两列作为行ID,同时计算基于时间的分组。请看下图: 转化成这样: 正在发生的是,X在时间10发生了0次,但在15和23发生了1次。 Y在10点钟发生了3次,但在15和23没有。等等。

  • 这是一个非常基本的问题,我似乎找不到答案。 我有一个这样的数据帧,叫做df: 然后我从df中提取所有行,其中列'B'的值为'B.2'。我将这些结果分配给df_2。 df_2变成: 然后,我将列B中的所有值复制到名为D的新列中。使df_2成为: 当我执行这样的任务时: 我得到以下警告: 试图在数据帧切片的副本上设置值。尝试使用。loc[row\u indexer,col\u indexer]=改为v

  • 问题内容: 我正在寻找一种方法来反向旋转数据框。据我所知,pandas提供了一种pivot或pivot_table方法将EAV df转换为“普通”方法。但是,还有一种方法可以做逆运算吗? 所以给定数据框: 我想将其转换为(EAV模型): 这样做最有效的方法是什么? 问题答案: 假设是索引,将执行以下操作: 如果不是索引,请像这样设置:

  • 问题内容: 我有一个大约20列的pandas数据框。 可以通过手动编写所有列名来替换所有出现的字符串(此处为换行符): 不幸的是,这不起作用: 还有其他更优雅的解决方案吗? 问题答案: 您可以使用并传递字符串以查找/替换为字典键/项目: 例如:

  • 问题内容: 有没有一种方法可以根据我的个人喜好(即不按字母或数字排序,而是更像遵循某些约定)对熊猫数据框中的列进行重新排序? 简单的例子: 产生这个: 但是,我想这样: (请提供通用解决方案,而不是针对此情况。非常感谢。) 问题答案: 只需输入列名称即可自己选择订单。请注意双括号: