为了简单起见,我将 500 个样本从 10,000 多个行的数据集中划分出来。请将 X 和 y 复制并粘贴到您的 IDE 中。
X =
array([ -8.93, -0.17, 1.47, -6.13, -4.06, -2.22, -2.11, -0.25,
0.25, 0.49, 1.7 , -0.77, 1.07, 5.61, -11.95, -3.8 ,
-3.42, -2.55, -2.44, -1.99, -1.7 , -0.98, -0.91, -0.91,
-0.25, 1.7 , 2.88, -6.9 , -4.07, -1.35, -0.33, 0.63,
0.98, -3.31, -2.61, -2.61, -2.17, -1.38, -0.77, -0.25,
-0.08, -1.2 , -3.1 , -1.07, -0.7 , -0.41, -0.33, 0.41,
0.77, 0.77, 1.14, 2.17, -7.92, -3.8 , -2.11, -2.06,
-1.2 …Run Code Online (Sandbox Code Playgroud) python scikit-learn cross-validation goodness-of-fit sklearn-pandas
我有上述分布,均值为-0.02,标准差为0.09,样本量为13905。
我只是不确定为什么鉴于样本量大,分布是左偏的。从 bin [-2.0 到 -0.5],该 bin 中只有 10 个样本计数/异常值,这解释了形状。
我只是想知道是否可以标准化以使其更平滑和“正态”分布。目的是将其输入模型,同时降低预测器的标准误差。
DF:
id1 id2 value1 value2
-----------------------------------
a b 10 5
c a 5 10
b c 0 0
c d 2 1
d a 10 20
a c 5 10
Run Code Online (Sandbox Code Playgroud)
从列['id1','id2']获取与id'a'关联的值的总和:
id1 id2 a.rolling(2).sum()
-----------------------------------
a b NaN
c a 20
d a 30
a c 25
Run Code Online (Sandbox Code Playgroud)
如何使用df.groupby函数从两个不同的列中获取id'a'的值的滚动总和?
我试过这个df.groupby(['id1','id2])['value1','value2'].transform(lambda x: x.rolling(2).sum()),但那没用.
string = 'cool'
df = pd.DataFrame(columns=['string_values'])
Run Code Online (Sandbox Code Playgroud)
附加
df.append(string)
Run Code Online (Sandbox Code Playgroud)
当我尝试将其附加到df时出现此错误。(仅用于数字数据吗?)
cannot concatenate object of type "<class 'str'>"; only pd.Series, pd.DataFrame, and pd.Panel (deprecated) objs are valid
Run Code Online (Sandbox Code Playgroud)
我只想向string = 'cool'数据帧中添加一个字符串值,但出现此错误。
我有此数据框,并希望添加另一列累加直到不等于星形符号*,然后在星形符号再次出现时从1重新开始。
Star
0 *
1 *
2 *
3 *
4 s
5 s
6 *
7 *
Run Code Online (Sandbox Code Playgroud)
预期输出:
Star Number
0 * 1
1 * 2
2 * 3
3 * 4
4 s NaN
5 s NaN
6 * 1
7 * 2
Run Code Online (Sandbox Code Playgroud)