python - 如何获取 DataFrame 中 2 行的出现次数?
问题描述
我正在尝试创建一个网络图。我想要的输出应该有 3 列:from , to , value
import pandas as pd
data = [
['nyc', 'la'],
['nyc', 'atl'],
['nyc', 'la'],
['nyc', 'la'],
['nyc', 'mia'],
['nyc', 'wash'],
['nyc', 'la'],
['dtr', 'la']
]
df = pd.DataFrame(data, columns = ['from', 'to'])
期望的结果
pd.DataFrame({
"from": ['nyc', 'nyc', 'nyc', 'dtr'],
"to": ['la', 'atl', 'wash', 'la'],
"value": [4, 1, 1, 1]})
如何获取数据框中 2 列的出现次数?
当我这样做时,df.groupby(['from', 'to']).count()
我得到一个空的数据框
>>> df.groupby(['from', 'to']).count()
Empty DataFrame
Columns: []
Index: [(dtr, la), (nyc, atl), (nyc, la), (nyc, mia), (nyc, wash)]
解决方案
您可以使用groupby().value_counts
:
df.groupby('from')['to'].value_counts().reset_index(name='value')
输出:
from to value
0 dtr la 1
1 nyc la 4
2 nyc atl 1
3 nyc mia 1
4 nyc wash 1
推荐阅读
- asp.net-core - 具有自定义身份验证类型的 ASP.NET Core JWT
- html - 如何使用具有不同父级的 CSS 选择器获取第一个匹配的元素?
- python - 如何根据输入条件过滤已经包含 NaN 的数据框?
- reactjs - Is it possible to disable scrolling of WebView within ScrollView and instead use the parent Scroll to scroll Webview content in React Native?
- javascript - How to insert value to {% url tag %} from js script inside django template
- python - Failed to navigate to https://www.google.ca. This usually means that a call to the COM method IWebBrowser2::Navigate2() with Python Unittest Selenium
- swift - 在 UICollectionView 中编辑 collectionView 单元格
- ios - 有没有办法在每次编译我的 pod 之前运行一个脚本文件?
- css - CSS网格将所有项目放在右上角
- ansible - Ansible:如何从变量中获取变量名