我使用以下方法获取数据的比例信息:
>>>testfile = pd.read_csv('CCCC_output_all_FINAL.txt', delimiter="\t", header=0)
>>> testdf = pd.DataFrame({'Proportion': testfile.groupby(('Name','Chr','Position','State')).size() / 39})
>>> testdf.head(5)
Proportion
Name Chr Position State
S-3AAAA 16 27557749 4 0.025641
5 0.076923
6 0.025641
S-3AAAC 15 35061490 2 0.076923
4 0.025641
>>> testdf.to_csv('CCCC_output_summary.txt', sep='\t', header=True, index=False)
输出文件只有Proportion
列。我希望输出下表:
Name Chr Position State Proportion
S-3AAAA 16 27557749 4 0.025641
S-3AAAA 16 27557749 5 0.076923
S-3AAAA 16 27557749 6 0.025641
S-3AAAC 15 35061490 2 0.076923
S-3AAAC 15 35061490 4 0.025641
把Pandas的输出写到这样的文件中可能/容易吗?
3条答案
按热度按时间e5nszbig1#
使用
reset_index()
:vjrehmav2#
我遇到了同样的问题。上面解释的reset_index()对我不起作用。我用了另一个Stackoverflow的答案,它工作得很好。详细信息如下。
输入csv在以下两列中包含数据:物料代码,数量
所需输出:按物料分组的平均数量,两列都是csv的一部分。
初始代码:
收到的输出:只有平均数量被写入输出文件
以下代码解决了该问题:
通过上面的代码,我得到了输出文件,其中有两列:项目代码和数量,第二列包含每个项目代码的平均数量。
其他堆栈溢出引用:Pandas groupby to to_csv
k97glaaz3#
最近,我不得不处理一个有两列的Excel文件,标题为“Dog Breed”和“Dog Name”。我想出了下面的代码(用
Python 3.11.0
测试),它使用groupby()
并将分组数据打印到.csv
文件中。data.xlsx:
data-grouped.csv: