Python 将列表数据转换为汇总表(转置和分组?)

Python 将列表数据转换为汇总表(转置和分组?),python,transpose,Python,Transpose,我有在不同州/省使用多种语言的数据,每个州使用一种语言的人数由政府提供 我想总结/转换如屏幕截图所示。其中每个语言/状态对都列出了编号为的说话人 在Python或其他工具中,什么是好方法 数据样本CSV State,Language,Speakers ANDHRA PRADESH, Adi,37, ARUNACHAL PRADESH, Adi,105158, ASSAM, Adi,2992, BIHAR, Adi,7, CHHATTISGARH, Adi,6, DADRA & NAGA

我有在不同州/省使用多种语言的数据,每个州使用一种语言的人数由政府提供

我想总结/转换如屏幕截图所示。其中每个语言/状态对都列出了编号为的说话人

在Python或其他工具中,什么是好方法

数据样本CSV

State,Language,Speakers
ANDHRA PRADESH, Adi,37,
ARUNACHAL PRADESH, Adi,105158,
ASSAM, Adi,2992,
BIHAR, Adi,7,
CHHATTISGARH, Adi,6,
DADRA & NAGAR HAVELI, Adi,1,
GOA, Adi,1,
GUJARAT, Adi,3,
HARYANA, Adi,44,
HIMACHAL PRADESH, Adi,13,
JAMMU & KASHMIR, Adi,10,
JHARKHAND, Adi,9,
KARNATAKA, Adi,61,
KERALA, Adi,24,
MADHYA PRADESH, Adi,283,
MAHARASHTRA, Adi,9,
MANIPUR, Adi,20,
MEGHALAYA, Adi,207,
MIZORAM, Adi,17,
NAGALAND, Adi,60,
NCT OF DELHI, Adi,20,
ODISHA, Adi,1,
PUDUCHERRY, Adi,5,
PUNJAB, Adi,21,
RAJASTHAN, Adi,758,
SIKKIM, Adi,1,
TAMIL NADU, Adi,9,
TRIPURA, Adi,3,
UTTAR PRADESH, Adi,25,
UTTARAKHAND, Adi,6,
WEST BENGAL, Adi,496,
ARUNACHAL PRADESH, Henchul,27720,
ASSAM, Henchul,548,
BIHAR, Henchul,6,
CHANDIGARH, Henchul,2,
GOA, Henchul,4,
GUJARAT, Henchul,16,
HIMACHAL PRADESH, Henchul,69,
JAMMU & KASHMIR, Henchul,3,
JHARKHAND, Henchul,714,
KARNATAKA, Henchul,7,
KERALA, Henchul,4,
MAHARASHTRA, Henchul,3,
MANIPUR, Henchul,3,
MEGHALAYA, Henchul,77,
MIZORAM, Henchul,2,
NAGALAND, Henchul,6,
NCT OF DELHI, Henchul,1,
ODISHA, Henchul,1,
PUNJAB, Henchul,2,
RAJASTHAN, Henchul,9,
UTTAR PRADESH, Henchul,27,
UTTARAKHAND, Henchul,1,
WEST BENGAL, Henchul,21,

假设State、Language和speaker都是数据框中的列,您只需使用
pivot

import pandas as pd

df = pd.DataFrame(
    {
        'State': ['State1', 'State2', 'State3', 'State1', 'State2', 'State3', 'State1', 'State2'],
        'Language': ['Lang1', 'Lang1', 'Lang1', 'Lang2', 'Lang2', 'Lang2', 'Lang3', 'Lang3'],
        'Speakers': [10, 100, 400, 1, 45, 100, 1000, 40]
    }
)

df.pivot(index='State', columns=['Language'], values='Speakers')


Language    Lang1   Lang2   Lang3
State           
State1      10.0    1.0     1000.0
State2      100.0   45.0    40.0
State3      400.0   100.0   NaN


欢迎来到堆栈溢出。请尽量不要将屏幕截图作为问题的一部分提交。您需要在此处提供更多信息。最关键的是,IMO,您需要告诉我们您的数据的格式是什么,以及它来自哪里。如果你能在你的问题中提供样本数据,那是最好的。您还需要清楚您希望从代码中得到什么。根据你的截图,我猜你想制作一个电子表格?这是真的吗?最后,你已经尝试了什么?如果你写了一些代码,给我们看看Python可能会是一个很好的选择。谢谢Steve,我一定会记住这一点。我有XLSX/CSV格式的数据。我需要两种格式的摘要。我不太确定从哪里开始,但我猜SQL或Python可以做到这一点。您的数据中有多少列?你能以CSV格式发布文件的前10-20行吗?当然,只是编辑了这篇文章以包含3列和数据样本。因此,我不明白你的样本数据与你所说的有所不同。你想要的和你已经拥有的有什么不同?我可能只是太傻了。展示结果会很有用