我的熊猫数据集中有以下几列:
Index(['Country', 'Region', 'Happiness Rank', 'Happiness Score',
'Lower Confidence Interval', 'Upper Confidence Interval',
'Economy (GDP per Capita)', 'Family', 'Health (Life Expectancy)',
'Freedom', 'Trust (Government Corruption)', 'Generosity',
'Dystopia Residual'],
dtype='object')
我需要将“较低的置信区间”和“较高的置信区间”列中的空值更改为每列的最小值和最大值之间的一个随机数。两列中的值都是带小数的整数。
这是我尝试过的:
import random
print(random.randint((df.max(axis=0)["Lower Confidence Interval"]),(df.mmin(axis=0)["Lower Confidence Interval"])(df.max(axis=0)["Upper Confidence Interval"]),(df.mmin(axis=0)["Upper Confidence Interval"])
df.loc[:, ["Lower Confidence Interval", "Upper Confidence Interval"]].fillna(5, inplace=True)
这是我收到的错误消息:
File "<ipython-input-100-e3190b8f67a4>", line 1
print(random.randint((df.max(axis=0)["Lower Confidence Interval"]),(df.mmin(axis=0)["Lower Confidence Interval"])(df.max(axis=0)["Upper Confidence Interval"]),(df.mmin(axis=0)["Upper Confidence Interval"])
SyntaxError: unexpected EOF while parsing
我在这里停留了一段时间,无法克服此错误。任何线索吗?
提前致谢!:)
让我们使用这个假设的数据集df
:
sample_col
0 nan
1 nan
2 4.41
3 9.79
4 8.24
5 7.04
6 4.41
7 4.09
8 5.58
9 6.34
您可以创建int
名为use_min和use_max的对象,这些对象将从当前列的min()
和max()
值派生。
use_min , use_max = int(df['sample_col'].min()) , int(df['sample_col'].max())
然后,您可以fillna
使用random.randint
(允许您生成随机数),以最小值和最大值作为参数,use_min , use_max
import random
df['sample_col'].fillna(random.randint(use_min,use_max))
Out[342]:
0 6.00
1 6.00
2 4.41
3 9.79
4 8.24
5 7.04
6 4.41
7 4.09
8 5.58
9 6.34
Name: sample_col, dtype: float64
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句