如何使用熊猫计算经过的月份?我写了以下内容,但这段代码并不优雅.你能告诉我一个更好的方法吗?
import pandas as pd
df = pd.DataFrame([pd.Timestamp('20161011'),
pd.Timestamp('20161101') ], columns=['date'])
df['today'] = pd.Timestamp('20161202')
df = df.assign(
elapsed_months=(12 *
(df["today"].map(lambda x: x.year) -
df["date"].map(lambda x: x.year)) +
(df["today"].map(lambda x: x.month) -
df["date"].map(lambda x: x.month))))
# Out[34]:
# date today elapsed_months
# 0 2016-10-11 2016-12-02 2
# 1 2016-11-01 2016-12-02 1
Run Code Online (Sandbox Code Playgroud) 输入如下.
Out[178]:
group value
0 A a
1 A b
2 A c
3 A d
4 B c
5 C d
6 C e
7 C a
Run Code Online (Sandbox Code Playgroud)
对于此输入,我想为每个组创建一个组合并创建一个DataFrame.我该怎么做?
我想得到的输出:
Out[180]:
group 0 1
0 A a b
1 A a c
2 A a d
3 A b c
4 A b d
5 A c d
0 C d e
1 C d a
2 C e a
Run Code Online (Sandbox Code Playgroud) 我有一个 DataFrame,其 id 的公司名称如下。
import pandas as pd
df = pd.DataFrame({
"id": [1, 1, 1, 2, 2, 2, 3, 3, 3],
"company": ["A", "A", "B", "C", "C", "C", "D", "E", "F"]},
columns=["id", "company"]
)
id company
0 1 A
1 1 A
2 1 B
3 2 C
4 2 C
5 2 C
6 3 D
7 3 E
8 3 F
Run Code Online (Sandbox Code Playgroud)
如何向上述 DataFrame 添加指示工作更改的标志,如下所示?
id company job_change
0 1 A 0
1 1 A 0
2 1 B …Run Code Online (Sandbox Code Playgroud) 我试图通过 将xgb.trainXGBoost的输出保存为日志文件logging,但我无法记录输出。我怎样才能记录它?我试图参考现有的 Stackoverflow 问题,但这是不可能的。我希望你用一个具体的样本来展示它。
import sys
import logging
# ---------------------------------------------- #
# Some logging settings
# ---------------------------------------------- #
import xgboost as xgb
import numpy as np
from sklearn.model_selection import KFold
from sklearn.datasets import load_digits
rng = np.random.RandomState(31337)
print("Zeros and Ones from the Digits dataset: binary classification")
digits = load_digits(2)
y = digits['target']
X = digits['data']
kf = KFold(n_splits=2, shuffle=True, random_state=rng)
for train_index, test_index in kf.split(X):
param = {'max_depth':2, 'eta':0.3, 'silent':1, 'objective':'binary:logistic' }
dtrain = xgb.DMatrix(X[train_index], y[train_index]) …Run Code Online (Sandbox Code Playgroud)