我有一个数据框,如下所示
id val1 val2 val3
a 100 60 40
b 20 18 12
c 160 140 100
Run Code Online (Sandbox Code Playgroud)
对于每一行,我想计算百分比。
预期输出如下图
id val1 val2 val3
a 50 30 20
b 40 36 24
c 40 35 25
Run Code Online (Sandbox Code Playgroud)
我尝试了以下代码
df['sum'] = df['val1]+df['val2]+df['val3]
df['val1] = df['val1]/df['sum']
df['val2] = df['val2]/df['sum']
df['val3] = df['val3]/df['sum']
Run Code Online (Sandbox Code Playgroud)
我想知道熊猫中是否有比这更简单和替代的方法。
我想生成一个包含 15 个整数的列表,总和为 12,最小值为 0,最大值为 6。
我试过以下代码
def generate(low,high,total,entity):
while sum(entity)!=total:
entity=np.random.randint(low, high, size=15)
return entity
Run Code Online (Sandbox Code Playgroud)
但上述功能无法正常工作。这太耗时了。请让我知道生成此类数字的有效方法?
我有如下所示的数据框
Date_Time
2019-02-27 10:00:00
2019-08-07 20:23:00
2019-02-24 00:00:00
Run Code Online (Sandbox Code Playgroud)
从上面我想只在新列中提取日期,如下所示。
预期输出:
Date_Time Date
2019-02-27 10:00:00 2019-02-27
2019-08-07 20:23:00 2019-08-07
2019-02-24 00:00:00 2019-02-24
Run Code Online (Sandbox Code Playgroud)
尝试了下面的代码
df['Date'] = pd.to_datetime(df['Date_Time'], format="%m/%d/%Y").dt.floor('D')
Run Code Online (Sandbox Code Playgroud)
但没有提供所需的输出
我正在尝试在 mac 中运行下面的代码。
## Hyperparameter optimization using RandomizedSearchCV
from sklearn.model_selection import RandomizedSearchCV, GridSearchCV
from xgboost import XGBClassifier
Run Code Online (Sandbox Code Playgroud)
它给了我以下错误。请帮助我,我已经尝试解决这个问题两天多了。但没有运气。
弹出的错误如下图所示,
---------------------------------------------------------------------------
XGBoostError Traceback (most recent call last)
<ipython-input-141-84c898b0388e> in <module>
1 ## Hyperparameter optimization using RandomizedSearchCV
2 from sklearn.model_selection import RandomizedSearchCV, GridSearchCV
----> 3 from xgboost import XGBClassifier
~/opt/anaconda3/lib/python3.8/site-packages/xgboost/__init__.py in <module>
7 import os
8
----> 9 from .core import DMatrix, DeviceQuantileDMatrix, Booster
10 from .training import train, cv
11 from . import rabit # noqa
~/opt/anaconda3/lib/python3.8/site-packages/xgboost/core.py in <module>
171
172 …Run Code Online (Sandbox Code Playgroud) 我有一个 df ,如下所示。
df:
ID Job Salary
1 A 100
2 B 200
3 B 20
4 C 150
5 A 500
6 A 600
7 A 200
8 B 150
9 C 110
10 B 200
11 B 220
12 A 150
13 C 20
14 B 50
Run Code Online (Sandbox Code Playgroud)
我想根据行数将 df 分成 6 个相等的部分。预期输出 df1:
ID Job Salary
1 A 100
2 B 200
3 B 20
Run Code Online (Sandbox Code Playgroud)
df2:
ID Job Salary
4 C 150
5 A 500
6 A 600 …Run Code Online (Sandbox Code Playgroud) 我有一个数据框,如下所示
ID Class Score1 Score2 Name
1 A 9 7 Xavi
2 B 7 8 Alba
3 A 10 8 Messi
4 A 8 10 Neymar
5 A 7 8 Mbappe
6 C 4 6 Silva
7 C 3 2 Pique
8 B 5 7 Ramos
9 B 6 7 Serge
10 C 8 5 Ayala
11 A NaN 4 Casilas
12 A NaN 4 De_Gea
13 B NaN 2 Seaman
14 C NaN 7 Chilavert
15 B NaN 3 …Run Code Online (Sandbox Code Playgroud) 我与客户有一个数据框,如下所示。
df:
id name
1 john
2 dan
3 sam
Run Code Online (Sandbox Code Playgroud)
另外,我有一个清单
['www.costco.com', 'www.walmart.com']
Run Code Online (Sandbox Code Playgroud)
我想通过从列表中随机选择元素来添加名为domainto的列。df
预期输出:
id name domain
1 john www.walmart.com
2 dan www.costco.com
3 sam www.costco.com
Run Code Online (Sandbox Code Playgroud)
注意:由于是随机选择,输出可能与平时不同。
它是从给定的字符串列表中随机选择的,因此它不相同且不重复。这是一个具体的问题,它得到了很好且非常具体的答案。
我有一个如下所示的数据框
Price Category Area
20 Red 100
30 Red 150
10 Red 50
25 Red NaN
30 Red NaN
10 Green 30
20 Green 60
30 Green 90
10 Green 30
40 Green NaN
50 Green NaN
Run Code Online (Sandbox Code Playgroud)
综上所述,我想分别估计每个类别红色和绿色的面积和价格之间的关系。
例如这里的红色:
Area = 5 * Price
Run Code Online (Sandbox Code Playgroud)
同样对于绿色:
Area = 3 * Price
Run Code Online (Sandbox Code Playgroud)
我想将其实现到 pandas 和 scikit-learn 中:
步骤 1. 估计每个类别的面积和价格之间的关系。2. 基于关系估算缺失值。
我在 python 和编码方面很新。
Expected output
Price Category Area
20 Red 100
30 Red 150
10 Red 50
25 Red 125
30 …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行下面的代码。这是https://github.com/krishnaik06的 GitHub 代码。
jupyter笔记本的链接如下。
我无法加载 xgboost 的地方
尝试在单元格下方运行,它显示一些错误。
## Hyperparameter optimization using RandomizedSearchCV
from sklearn.model_selection import RandomizedSearchCV, GridSearchCV
import xgboost
Run Code Online (Sandbox Code Playgroud)
错误:
---------------------------------------------------------------------------
XGBoostError Traceback (most recent call last)
<ipython-input-11-60e28ccb95f6> in <module>
1 ## Hyperparameter optimization using RandomizedSearchCV
2 from sklearn.model_selection import RandomizedSearchCV, GridSearchCV
----> 3 import xgboost
~/opt/anaconda3/lib/python3.8/site-packages/xgboost/__init__.py in <module>
7 import os
8
----> 9 from .core import DMatrix, DeviceQuantileDMatrix, Booster
10 from .training import train, cv
11 from . import rabit # noqa
~/opt/anaconda3/lib/python3.8/site-packages/xgboost/core.py in …Run Code Online (Sandbox Code Playgroud) 我有 df 如下所示
df:
player goals_oct goals_nov
messi 2 4
neymar 2 NaN
ronaldo NaN 3
salah NaN NaN
levenoski 2 2
Run Code Online (Sandbox Code Playgroud)
我想计算每个球员的平均进球数。这是当两个数据都可用时可用列的平均值,如果两者都不可用goals_oct则NaNgoals_nov
预期产出
player goals_oct goals_nov avg_goals
messi 2 4 3
neymar 2 NaN 2
ronaldo NaN 3 3
salah NaN NaN NaN
levenoski 2 0 1
Run Code Online (Sandbox Code Playgroud)
我尝试了下面的代码,但它不起作用
conditions_g = [(df['goals_oct'].isnull() and df['goals_nov'].notnull()),
(df['goals_oct'].notnull() and df['goals_nov'].isnull())]
choices_g = [df['goals_nov'], df['goals_oct']]
df['avg_goals']=np.select(conditions_g, choices_g, default=(df['goals_oct']+df['goals_nov'])/2)
Run Code Online (Sandbox Code Playgroud)