当我尝试使用dataframe to_csv函数中的一些参数时,它会抛出一个TypeError,例如`TypeError:to_csv()得到一个意外的关键字参数'doublequote'
df.to_csv('transactions.x', header=False, doublequote=False)
要么
df.to_csv('transactions.x', doublequote=False)
我的熊猫版本是0.19.2(选中print(pd.__version__)
)
我正在使用Python 3.5
以下官方文件基于0.19.2。虽然我有类型错误,但声明这些参数可以用作可选项。 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html
你们有什么想法吗?
谢谢。
解决方案
感谢所有评论者的头脑风暴。
使用命令df = df.groupby(['Transactions'])['Items'].apply(','.join)
后,数据框变为系列。
为了将系列转换为数据帧,应该使用此命令df = df.groupby(['Transactions'])['Items'].apply(','.join).to_frame()
。
最后,要通过避免使用转义字符将其导出为具有非引用样式的CSV,您需要以下面的命令结束
df.to_csv('transactions.x', header=False, quoting=csv.QUOTE_NONE, escapechar=' ')
#或任何escapechar。
希望它对每个人都有帮助。 感谢
答案 0 :(得分:3)
这会有所帮助:
to_frame
根据您的评论,请阅读系列文章docs。
您可以在保存之前使用nb workers = 12
I'm i : 0
HELLO I'm func1
BYE I'm func2
terminate called after throwing an instance of 'std::system_error'
what(): Invalid argument
Aborted (core dumped)
来解决问题。
答案 1 :(得分:0)
您的groupby
来电会生成一系列没有doublequote
参数的系列,在调用to_csv
之前转换为调用to_frame()
的数据框
此:
df.groupby(['Transactions'])['Items'].apply(','.join)
正在对您的df进行分组,但是您选择了一个列并调用apply
这将返回Series
因此您的错误
答案 2 :(得分:0)
感谢所有评论者的头脑风暴。
使用命令df = df.groupby(['Transactions'])['Items'].apply(','.join)
后,数据框变为系列。
为了将系列转换为数据帧,应该使用此命令df = df.groupby(['Transactions'])['Items'].apply(','.join).to_frame()
。
最后,要通过避免使用转义字符将其导出为具有非引用样式的CSV,您需要最终使用以下命令df.to_csv('transactions.x', header=False, quoting=csv.QUOTE_NONE, escapechar=' ')
#或任何escapechar。
希望它对每个人都有帮助。感谢