- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
想要将 Pandas groupby 数据帧输出到 CSV。尝试了各种 StackOverflow 解决方案,但没有奏效。
Python 3.6.1, Pandas 0.20.1
groupby 结果如下:
id month year count
week
0 9066 82 32142 895
1 7679 84 30112 749
2 8368 126 42187 872
3 11038 102 34165 976
4 8815 117 34122 767
5 10979 163 50225 1252
6 8726 142 38159 996
7 5568 63 26143 582
想要一个看起来像的 csv
week count
0 895
1 749
2 872
3 976
4 767
5 1252
6 996
7 582
当前代码:
week_grouped = df.groupby('week')
week_grouped.sum() #At this point you have the groupby result
week_grouped.to_csv('week_grouped.csv') #Can't do this - .to_csv is not a df function.
阅读 SO 解决方案:
output groupby to csv file pandas
week_grouped.drop_duplicates().to_csv('week_grouped.csv')
结果: AttributeError:无法访问“DataFrameGroupBy”对象的可调用属性“drop_duplicates”,尝试使用“apply”方法
Python pandas - writing groupby output to file
week_grouped.reset_index().to_csv('week_grouped.csv')
结果: AttributeError:“无法访问‘DataFrameGroupBy’对象的可调用属性‘reset_index’,尝试使用‘apply’方法”
最佳答案
尝试这样做:
week_grouped = df.groupby('week')
week_grouped.sum().reset_index().to_csv('week_grouped.csv')
这会将整个数据帧写入文件。如果您只需要这两列,
week_grouped = df.groupby('week')
week_grouped.sum().reset_index()[['week', 'count']].to_csv('week_grouped.csv')
这里逐行解释原代码:
# This creates a "groupby" object (not a dataframe object)
# and you store it in the week_grouped variable.
week_grouped = df.groupby('week')
# This instructs pandas to sum up all the numeric type columns in each
# group. This returns a dataframe where each row is the sum of the
# group's numeric columns. You're not storing this dataframe in your
# example.
week_grouped.sum()
# Here you're calling the to_csv method on a groupby object... but
# that object type doesn't have that method. Dataframes have that method.
# So we should store the previous line's result (a dataframe) into a variable
# and then call its to_csv method.
week_grouped.to_csv('week_grouped.csv')
# Like this:
summed_weeks = week_grouped.sum()
summed_weeks.to_csv('...')
# Or with less typing simply
week_grouped.sum().to_csv('...')
关于python - Pandas groupby 到 to_csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47602097/
我需要一个由 , 分割数据的单行 CSV。我的问题是,当我尝试使用 apply 遍历我的 Dataframe 时,我得到一个 Series 对象并且 to_csv 方法给我一个 str 分成行,将 N
尝试使用 pandas 将数据帧写入 csv 并删除连接值产生的引号。解释器不接受参数引用。 错误 TypeError: to_csv() got an unexpected keyword argu
我正在使用 to_csv() 方法将数据框写入 .csv 文件。我有一个名为 emotion 的变量,它引用一个数据框,我正在使用 to_csv() 像这样; emotion.to_csv(file
我有这个代码 import numpy as np import pandas as pd import csv odata = pd.read_csv('email.csv') data = oda
我有一个具有以下结构的数据框,为了解决这个问题,我对其进行了简化,我正在从 csv 文件中读取数据框。 A B C D E LOCATION DATE DAT
我用 pd.read_csv 读取 CSV 文件, 如图所示: lisp = pd.read_csv('ida_lisp.ida', header=None, skip_blank_lines=Fal
我试图从 tripadvisor 抓取数据,但是从我尝试抓取的几个页面中,当我尝试将其导出到 csv 时,它只显示 1 行数据并给出这样的错误消息 AttributeError: 'NoneType'
我有数据框 df = [["A1" "B2" "C3"] ["D4" "E5" "F6"]] (所有文本均为字符串)我想使用 df.to_csv() 将其保存到一个文件中,文本“E5”为彩色/粗体。可
出于某种原因,我需要以这种格式输出到 csv 并在每列名称周围加上引号,我想要的输出如下所示: "date" "ret" 2018-09-24 0.00013123989025119056 我正在尝试
如何将文件写入文件名未编码的文件系统? 目前,写入 /myfolder/my file.csv 变为 /myfolder/my%20file.csv。我希望文件名是my file.csv。 代码片段:
来自具有以下格式的 csv 文件: Date,Data 01-01-01,111 02-02-02,222 03-03-03,333 我使用以下代码计算值的月平均值: data = pd.read_c
我有一个数据集,我试图将其拆分为训练集和测试集。我制作了以下脚本来分割数据,如上所述: import pandas as pd import numpy as np data_path = "/pat
我想使用 DecisionTree 2.2.2 构建决策树。 https://engineering.purdue.edu/kak/distDT/DecisionTree-2.2.2.html 但是,
我正在将 pandas 数据帧写入 csv 文件。但是我可以发现唯一 ID 的数量正在减少,但总行数保持不变 下面您可以找到代码: 检查grouped_test的总计数和唯一计数 grouped_t
我是 python 的新手,到目前为止我很喜欢 ipython notebook 来学习。我是在使用 to_csv() 函数将 Pandas 数据帧写出到文件中吗?我想打开 csv 以查看它在 exc
似乎 pandas.to_csv 函数有两个属性做同样的事情。 也许我遗漏了什么。 来自文档: columns : sequence, optional Columns to write header
我正在使用 jupyter notebook pandas to_csv 不会将数据帧输出到文件。 我尝试使用 to_csv 通过设置工作目录或指定目录将数据帧输出到 csv 文件,但它没有创建任何文
我想使用 Pandas DataFrame 将我的数据写入 csv 文件,我的代码是: >>> for _, dataframe in my_data.items(): datafra
为了降低内存成本,我使用 astype() 指定了我的 pandas 数据框的数据类型,例如: df['A'] = df['A'].astype(int8) 然后我使用 to_csv() 来存储它,但
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我是一名优秀的程序员,十分优秀!