Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在熊猫中创建列联表_Python_Python 3.x_Pandas_Dataframe_Contingency - Fatal编程技术网

Python 在熊猫中创建列联表

Python 在熊猫中创建列联表,python,python-3.x,pandas,dataframe,contingency,Python,Python 3.x,Pandas,Dataframe,Contingency,我想在熊猫中创建一个列联表。我可以用下面的代码来做,但是我想知道是否有一个pandas函数可以帮我做 对于可再现的示例: toy_data #json '{"Light":{"321":"no_light","476":"night_light","342":"lamp","454":"lamp","25":"night_light","53":"night_light","120":"night_light","346":"night_light","360":"lamp","55":"no_

我想在熊猫中创建一个列联表。我可以用下面的代码来做,但是我想知道是否有一个pandas函数可以帮我做

对于可再现的示例:

toy_data #json
'{"Light":{"321":"no_light","476":"night_light","342":"lamp","454":"lamp","25":"night_light","53":"night_light","120":"night_light","346":"night_light","360":"lamp","55":"no_light","391":"night_light","243":"no_light","101":"night_light","377":"night_light","124":"no_light","368":"lamp","400":"no_light","247":"night_light","270":"lamp","208":"night_light"},"Nearsightedness":{"321":"No","476":"Yes","342":"Yes","454":"Yes","25":"No","53":"Yes","120":"Yes","346":"No","360":"No","55":"Yes","391":"Yes","243":"No","101":"No","377":"Yes","124":"No","368":"No","400":"No","247":"No","270":"Yes","208":"No"}}'

toy_data.head()
    Light       Nearsightedness
321 no_light       No
476 night_light    Yes
342 lamp           Yes
454 lamp           Yes
25  night_light    No

df = pd.DataFrame(toy_data.groupby(['Light', 'Nearsightedness']).size())

df = df.unstack('Nearsightedness')

df.columns = df.columns.droplevel()

df
Nearsightedness No  Yes
Light       
lamp             2  3
night_light      5  5
no_light         4  1
您可以使用:

这将起到关键作用:

pd.crosstab(df.Light, df.Nearsightedness)
输出:

Nearsightedness  No  Yes
Light
lamp              2    3
night_light       5    5
no_light          4    1

看到一个完美的问题——一个伟大的、有效的解决方案和期望的输出,是多么令人高兴啊!这就是我在看的。谢谢
Nearsightedness  No  Yes
Light
lamp              2    3
night_light       5    5
no_light          4    1