这是我想要构建的设计:

这就是我现在的位置:

当我尝试用溢出框包裹 CircleAvatar 的大小框时,我得到了“底部无限像素溢出的 RenderFlex ”错误。我尝试使用堆栈,但意识到它使事情变得更加复杂。我觉得溢出框是答案,但无法理解它。
Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
SizedBox(
child: CircleAvatar(
radius: 40.0,
backgroundColor: Colors.white,
child: CircleAvatar(
child: Align(
alignment: Alignment.bottomRight,
child: CircleAvatar(
backgroundColor: Colors.white,
radius: 12.0,
child: Icon(
Icons.camera_alt,
size: 15.0,
color: Color(0xFF404040),
),
),
),
radius: 38.0,
backgroundImage: AssetImage(
'assets/images/user-image-default.png'),
),
),
),
Center(
child: Container(
padding: EdgeInsets.only(top: 16.0),
child: Text(
'Hi Sir David',
style: TextStyle(
fontFamily: 'SF Pro',
fontWeight: FontWeight.w700,
fontSize: 24.0,
),
),
),
),
Center(
child: …Run Code Online (Sandbox Code Playgroud) 假设我有以下 DF。
df = sqlContext.createDataFrame(sc.parallelize(
[('a',0, 1,1), ('b',1, 3,4), ('c',2, 5,7)]), ('acc_no','col_1', 'col_2','sum'))
+------+-----+-----+---+
|acc_no|col_1|col_2|sum|
+------+-----+-----+---+
| a| 0| 1| 1|
| b| 1| 3| 4|
| c| 2| 5| 7|
+------+-----+-----+---+
Run Code Online (Sandbox Code Playgroud)
我想找到为col_1和col_2在总和列上的百分比创建一个新列,如下所示。
+------+-----+-----+---+---------+---------+
|acc_no|col_1|col_2|sum|perc_col1|perc_col2|
+------+-----+-----+---+---------+---------+
| a| 0| 1| 1| 0| 100|
| b| 1| 3| 4| 25| 75|
| c| 2| 5| 7| 29| 71|
+------+-----+-----+---+---------+---------+
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用以下代码为每个 col_1 和 col_2 添加百分比列
df.withColumn('perc_col1',col('col_1')/col('sum')*100).withColumn('perc_col2',col('col_2')/col('sum')*100).show()
Run Code Online (Sandbox Code Playgroud)
但是,如果我有数百列并且我想避免编写数百行代码,我该怎么办?