我有一个数据框,其中包含日期和公共假期
Date WeekNum Public_Holiday
1/1/2015 1 1
2/1/2015 1 0
3/1/2015 1 0
4/1/2015 1 0
5/1/2015 1 0
6/1/2015 1 0
7/1/2015 1 0
8/1/2015 2 0
9/1/2015 2 0
10/1/2015 2 0
11/1/2015 2 0
12/1/2015 2 0
13/1/2015 2 0
Run Code Online (Sandbox Code Playgroud)
我必须创建一个名为Public_Holiday_Week的条件列,如果该特定周有公共假日,则该列应返回1
我希望看到这样的输出
Date WeekNum Public_Holiday Public_Holiday_Week
1/1/2015 1 1 1
2/1/2015 1 0 1
3/1/2015 1 0 1
4/1/2015 1 0 1
5/1/2015 1 0 1
6/1/2015 1 0 1
7/1/2015 1 0 1
8/1/2015 2 0 …Run Code Online (Sandbox Code Playgroud) 我有这个数据帧:
dates = pd.date_range(start='2016-01-01', periods=20, freq='d')
df = pd.DataFrame({'A': [1] * 20 + [2] * 12 + [3] * 8,
'B': np.concatenate((dates, dates)),
'C': np.arange(40)})
Run Code Online (Sandbox Code Playgroud)
我按日期对数据框进行了排序:
df.sort_values('B',inplace=True)
Run Code Online (Sandbox Code Playgroud)
我期待在日期做一个前滚.但是,我只能使用以下方式进行后滚:
df.groupby('A').rolling(7, on='B',min_periods=0).C.sum()
A B
1 2016-01-01 0.0
2016-01-02 1.0
2016-01-03 3.0
2016-01-04 6.0
2016-01-05 10.0
2016-01-06 15.0
Run Code Online (Sandbox Code Playgroud)
我想做前滚.
我有一个数据集,我必须为此开发各种模型并计算所有模型的调整后的R2值。
cv = KFold(n_splits=5,shuffle=True,random_state=45)
r2 = make_scorer(r2_score)
r2_val_score = cross_val_score(clf, x, y, cv=cv,scoring=r2)
scores=[r2_val_score.mean()]
return scores
Run Code Online (Sandbox Code Playgroud)
我已经使用上面的代码来计算每个模型的R2值。但是我更想知道每个模型的调整后的R2值python中是否有可以完成此工作的软件包?
感谢您的帮助。
我有 2 个数据框
df1
Company SKU Sales
Walmart A 100
Total A 200
Walmart B 200
Total B 300
Walmart C 400
Walmart D 500
Run Code Online (Sandbox Code Playgroud)
df2
Company SKU Sales
Walmart A 400
Total B 300
Walmart C 900
Walmart F 400
Total G 500
Run Code Online (Sandbox Code Playgroud)
我想要一个结果数据框 (df2),它只包含 df1 和 df2 中匹配 SKU 的记录
df2
Company SKU Sales
Walmart A 400
Total B 300
Walmart C 900
Run Code Online (Sandbox Code Playgroud)
我只想要 df2 中 df1 的唯一(公司 + SKU)值
有没有什么好的解决方案来实现这一目标?
我有一个看起来像的数据框
City Crime_Rate
A 10
B 20
C inf
D 15
Run Code Online (Sandbox Code Playgroud)
我想用 Crime_Rate 列的最大值替换 inf,这样我的结果数据框应该看起来像
City Crime_Rate
A 10
B 20
C 20
D 15
Run Code Online (Sandbox Code Playgroud)
我试过
df['Crime_Rate'].replace([np.inf],max(df['Crime_Rate']),inplace=True)
Run Code Online (Sandbox Code Playgroud)
但是python将inf作为最大值,我哪里出错了?
我有一个数据框,其中包含日期索引以及正值和负值池
values = [1,2,3,4,-1,-2,-3,10,11,12]
start_date = pd.to_datetime('2019-01-23')
dates = [start_date + datetime.timedelta(days=i) for i in range(0,len(values))]
df = pd.DataFrame(values)
df.columns = ['values'] ; df.index = dates ; df
Run Code Online (Sandbox Code Playgroud)
我想要一个附加列,其中包含第一组正值的最大值和第二组负值的最小值,依此类推。
输出应该看起来像
df['values_max'] = np.nan
df.loc['2019-01-26','values_max'] = 4
df.loc['2019-01-29','values_max'] = -3
df.loc['2019-02-01','values_max'] = 12
df
Run Code Online (Sandbox Code Playgroud)
我将不胜感激任何帮助。
我有一个数据框,我为其绘制了折线图并使用以下代码添加了参考号
plt.figure(figsize=(15,5))
plt.title('Parento Analysis',fontsize=20, color = 'blue')
plt.xlabel('Product', fontsize=14)
plt.ylabel('Sales Quantity', fontsize=14)
plt.plot(parento['Cum_Product%'], parento['Cum_Sales%'],linewidth=3.0)
plt.plot([10, 10], [0, 80], 'k-', lw=1,dashes=[2, 2])
plt.plot([0, 10], [80, 80], 'k-', lw=1,dashes=[2, 2])
plt.show()
Run Code Online (Sandbox Code Playgroud)
我的解决方案对我来说似乎有点长。有没有其他简单的方法可以绘制 (10,80) 的参考线?
我有一个以列值作为索引号的熊猫数据框
Sales
140 100
142 200
145 300
Run Code Online (Sandbox Code Playgroud)
我想填充缺失的索引,也想用0填充缺失的索引的值
Sales
140 100
141 0
142 200
143 0
144 0
145 300
Run Code Online (Sandbox Code Playgroud)
我也想填写缺少的值作为缺少的索引号,例如
Week_num
140 140
142 142
145 145
Week_Num
140 140
141 141
142 142
143 143
144 144
145 145
Run Code Online (Sandbox Code Playgroud)
我要求您帮助我如何将此编码出来?
我有一个嵌套列表,如何将其转换为字典
data = [["Employee","Salary","Age","Gender"],["001",1200,25,"M"],["002",1300,28,"M"],["003",1400,32,"M"],["004",1700,44,"F"]]
Run Code Online (Sandbox Code Playgroud)
字典应该在下面阅读
dict = {'Employee':['001','002','003','004'],'Salary':[1200,1300,1400,1700],'Age':[25,28,32,44],'Gender':['M','M','M','F']}
Run Code Online (Sandbox Code Playgroud)
我试图更改为Pandas DataFrame并将其转换为字典.但我正在寻找从列表到字典的直接转换
非常感谢您的帮助.在Python 3中期待答案
我在一个文件夹中有多个大尺寸的csv文件,例如
file1.csv
file2.csv
file3.csv
combine.csv
Run Code Online (Sandbox Code Playgroud)
如果我必须使用cmd合并(附加)所有这些,我知道我必须使用
copy *.csv targetfile.csv
Run Code Online (Sandbox Code Playgroud)
我的问题是,在这种情况下,如果我必须组合名称为“ file”的csv文件,该怎么办file1.csv, file2.csv, file3.csv?
我有一个 pandas 数据框,其内容如下
Category Sales
A 10
B 20
Run Code Online (Sandbox Code Playgroud)
我想有条件地创建新列目标
我希望我的目标 df 看起来像
Category Sales Target
A 10 5
B 20 10
Run Code Online (Sandbox Code Playgroud)
我使用了下面的代码,它引发了一个错误
if(df['Category']=='A'):
df['Target']=df['Sales']-5
else:
df['Target']=df['Sales']-10
Run Code Online (Sandbox Code Playgroud) python ×9
pandas ×8
dataframe ×2
merge ×2
cmd ×1
csv ×1
dictionary ×1
fill ×1
filter ×1
group-by ×1
if-statement ×1
indexing ×1
infinite ×1
list ×1
matplotlib ×1
max ×1
regression ×1
replace ×1
rolling-sum ×1
scikit-learn ×1
windows ×1