假设我有一个包含两列的数据框:a和b。现在,我希望具有每对(a,b)的计数以及a的总计数,以使其具有以下结构。
假设我有以下数据:
$(a,b)\ in {(1,1),(1,2),(2,3),(3,4)} $
然后我想获得以下行:
$ [1,2,{1:1,2:1}]],[2,1,{3:1}],[3,1,{4:1}] $
换句话说,第一行表示一个事实,即总共有2个观测值。 b等于1的一个观测值,b等于2的一个观测值。第2行包含a = 2得到一个观测值,b = 3观测值的信息。第三行表示的事实是,对于a = 3,即b = 4,有一个观测值。
如何使用PySpark做到这一点?
我尝试了以下操作:
export default class Home extends Component{
constructor() {
super();
this.state = {
users:[],
};
}
componentDidMount() {
axios
.get("http://localhost:5000/getNews1")
.then(response =>{
this.setState({users:response.data.articles});
})
}
handleSubmit(){}
render(){
const news = this.state.users.map((item, i) =>{
return(
<Col sm="4">
<div key={i}>
<Card id="size">
<CardImg top width="100%" src={item.urlToImage} alt={item.title} />
<CardBody>
<CardTitle>{item.title}</CardTitle>
<CardSubtitle id="subtitle">{item.description}</CardSubtitle>
<CardText>{item.content}</CardText>
</CardBody>
<CardFooter>
<Button id="save_btn" onClick ={this.handleSubmit}>Save</Button>
<Button id="read-btn" href={item.url} target="_blank">Read More</Button>
</CardFooter>
</Card>
<br/>
</div>
</Col>
)
})
return(
<div>
<Container>
<Row>
{news}
</Row>
</Container>
</div>
)
}
}
但这显然行不通。我松散了每对支数的信息。