这正是我正在做的
import pandas as pd
import numpy as np
dataset = pd.DataFrame.from_dict({"0": [0,0,0,0]}, orient="index", columns=["time", "cost", "mult", "class"])
row= [3, 1, 3, 1]
dataset = dataset.append(row, sort=True )
试图得到这个结果
time cost mult class
0 0.0 0.0 0.0 0.0
1 1 1 1 1
我得到的是
0 class cost mult time
0 NaN 0.0 0.0 0.0 0.0
0 3.0 NaN NaN NaN NaN
1 1.0 NaN NaN NaN NaN
2 3.0 NaN NaN NaN NaN
3 1.0 NaN NaN NaN NaN
我已经尝试了这些参数的所有组合,但它总是向我显示一堆新行,这些行的值位于新的分隔列上,而且它还更改了我在初始数据集中定义的列的顺序。(我也尝试了。concat的各种功能,但它仍然给出了类似的问题,wven使用Axis=0)
因为即使是文档中的示例在代码结构相同的情况下也没有显示这个结果,如果有人能告诉我发生了什么,为什么发生了什么,以及如何修复这个问题,那就太好了。
为了回答这个问题,我已经试过了
row= pd.Series([3, 1, 3, 1])
row = row.to_frame()
dataset = dataset.append(row, ignore_index=True )
0 class cost mult time
0 NaN 0.0 0.0 0.0 0.0
1 3.0 NaN NaN NaN NaN
2 1.0 NaN NaN NaN NaN
3 3.0 NaN NaN NaN NaN
4 1.0 NaN NaN NaN NaN
row= pd.Series([3, 1, 3, 1])
dataset = dataset.append(row, ignore_index=True )
time cost mult class 0 1 2 3
0 0.0 0.0 0.0 0.0 NaN NaN NaN NaN
1 NaN NaN NaN NaN 3.0 1.0 3.0 1.0
一种选择是将列表显式地转换为PD.Series
:
In [46]: dataset.append(pd.Series(row, index=dataset.columns), ignore_index=True)
Out[46]:
time cost mult class
0 0 0 0 0
1 3 1 3 1
您也可以通过dict
在本地完成:
In [47]: dataset.append(dict(zip(dataset.columns, row)), ignore_index=True)
Out[47]:
time cost mult class
0 0 0 0 0
1 3 1 3 1
您遇到的问题是,Other
需要是Dataframe
、Series
(或其他类似dict
的对象)或Dataframe
s或Series
es的列表,而不是整数列表。
我有一个CSV文件,有三列:col1,col2,col3。我试图在这个文件中附加一个只包含col2的数据框 结果是: 我希望: 有可能以某种方式实现这一点吗?
我想根据不同的模块登录不同的应用程序... 我有3个附件:控制台,一个用于记录控制器和服务的滚动文件,另一个用于记录作业中的某些内容的滚动文件。我只想为其滚动文件记录作业的代码,并只使用另一个滚动文件记录控制器和服务。 这是我的grails log4j配置: 使用此配置,日志将写入两个滚动文件和标准输出。如果从根目录中删除滚动附加器,滚动文件将保持为空,即使为文件组指定了附加器。 有人建议将日志分
我有一个1.5GB.dat文件需要作为pandas数据帧导入,我遇到了内存问题(8GB RAM)。如何将dat文件分解成块来执行分析?
问题内容: 假设我有一个用户活动日志,我想生成一个总持续时间和每天唯一身份用户数量的报告。 汇总持续时间非常简单: 我想做的是同时计算持续时间并计算不重复次数,但我似乎找不到count_distinct的等效项: 这可行,但是肯定有更好的方法,不是吗? 我在想,我只需要提供一个将Series对象的不同项目的计数返回给聚合函数的函数,但是我对各种库的接触并不多。另外,似乎groupby对象已经知道此
问题内容: 如果“文件名”不存在,我想使用pd.write_csv写入“文件名”(带有标题),否则,如果存在“文件名”,则附加到文件名中。如果我只使用命令: 写入或追加成功,但似乎每次进行追加时都会写入标头。 如果文件不存在,如何只添加标题,如果文件存在,如何不添加标题而追加标题? 问题答案: 不确定熊猫是否有办法,但是检查文件是否存在将是一种简单的方法: