我有一个pandas数据框'df',其中有一个原始列,日期时间格式为日期.我将硬日期设为变量:
hard_date = datetime.date(2013, 5, 2)
Run Code Online (Sandbox Code Playgroud)
然后我在我的df中创建了一个新列,其中包含date列和hard_date中的值之间的差异...
df['days_from'] = df['date'] - hard_date
Run Code Online (Sandbox Code Playgroud)
这产生了良好的输出.例如,当我在新列中打印第一个单元格时,它显示:
print (df['days_from'].iloc[0])
28 days 00:00:00
Run Code Online (Sandbox Code Playgroud)
但现在我想将新列转换为整数天数.我想过只拿前2个字符,但很多值都是负数,所以我正在寻找更好的路线.
有关将列转换为日期整数的有效方法的任何想法?
谢谢
我一直在使用以下内容在pandas中创建新列:
df['new_column'] = value
Run Code Online (Sandbox Code Playgroud)
我正在使用此方法,但是,我收到了设置副本的警告.
在不创建副本的情况下创建新列的方法是什么?
我有一个pandas数据帧"df",其示例如下:
time x
0 1 1
1 2 Nan
2 3 3
3 4 Nan
4 5 8
5 6 7
6 7 5
7 8 Nan
Run Code Online (Sandbox Code Playgroud)
真实的框架要大得多.我试图在"x"系列中找到最长的非NaN值,并打印出该帧的起始和结束索引.这可能吗?
谢谢
我提取了一些在 kaggle (linux) 上运行的 ML 代码,并尝试在 Windows 机器上的 jupyter notebook 中运行它。这是代码(其中一些):
##### RUN XGBOOST
import xgboost as xgb
print("\nSetting up data for XGBoost ...")
# xgboost params
xgb_params = {
'eta': 0.037,
'max_depth': 5,
'subsample': 0.80,
'objective': 'reg:linear',
'eval_metric': 'mae',
'lambda': 0.8,
'alpha': 0.4,
'base_score': y_mean,
'silent': 1
}
#### These lines were causing the folloing error on 9/1/2017:
# AttributeError: module 'xgboost' has no attribute 'DMatrix'
dtrain = xgb.DMatrix(x_train.values, y_train.values)
dtest = xgb.DMatrix(x_test)
num_boost_rounds = 250
print("num_boost_rounds="+str(num_boost_rounds))
# train …
Run Code Online (Sandbox Code Playgroud) 我有一个pandas数据框,其中一列填充了字符串,如下所示:
string_column
0 t,d,t,d,v,d
1 s,v,y,d
2 d,u,f
Run Code Online (Sandbox Code Playgroud)
我想在字符串列中创建一个包含逗号计数的新列.我的预期结果如下:
string_column comma_count
0 t,d,t,d,v,d 5
1 s,v,y,d 3
2 d,u,f 2
Run Code Online (Sandbox Code Playgroud)
pandas是否有字符串读取方法可以完成此任务?
谢谢
我有一个使用 matplotlib 的图表,它使用 twinx() 函数来显示具有不同 y 值的两个不同图:
plt.plot(Current_Time[1000:66000],Avg_Duration[1000:66000],color='blue',label="Average Duration of All Parked Cars")
#plt.figure(figsize=(10,10))
plt.legend(loc='upper left')
plt.ylim(0,50000)
plt.ylabel('Duration in Seconds')
plt.xticks(rotation=90)
plt2=plt.twinx()
#plt2.figure(figsize=(10,10))
plt2.plot(Current_Time[1000:66000],Quantity[1000:66000],color='purple',label='Quantity of Cars Parked')
plt2.set_ylabel('Cars Parked')
plt2.legend(loc='upper right')
plt.show()
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是当我尝试增加绘图大小时,它将图表分开。有没有办法增加绘图大小而不分成两个图表?
我有一个简单的数据框:
索引,a,y 0,1,2 1,4,6 2,5,8
我想遍历“ a”列,并打印出其索引以获取特定值。
for x in df.a:
if x == 4:
print ("Index of that row")
Run Code Online (Sandbox Code Playgroud)
当for循环达到我要查找的“ a”列中的特定值时,应该使用哪种语法来获取索引值?
谢谢
我有字典
d = {1:a,2:a}
Run Code Online (Sandbox Code Playgroud)
我也有一个熊猫框架“df”
0 x y
1 1 10
2 2 56
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我无法将 x 值与字典键匹配:
for index, row in df.iterrows():
for x,y in d.items():
if row['x'] == x:
print "Got a Match"
else:
print "No Match Found"
Run Code Online (Sandbox Code Playgroud)
我得到的只是“找不到匹配项”。有什么我做错了吗?pandas系列中的数据是“float64”,字典中的key是“int”,但是我把pandas系列转为int,还是无法匹配到这些项。任何帮助表示赞赏。
谢谢
我有一个数据帧"df":
x y
0 1 -1
1 -2 -3
2 3 4
3 4 5
4 9 6
Run Code Online (Sandbox Code Playgroud)
我试图确定x和y值的百分比在正面或负面方面是一致的.因此,如果x为正且y为正,则这将是正确的答案.如果x和y都是负数,那就是正确的.如果x和y不同,那就错了.有没有快速的方法来做到这一点?最后,我只是想知道所有行中有多少百分比都有正确的答案.
(ps实际数据帧中有1M +行)
谢谢
我有一个数据帧"df":
x
0 -2
1 2
2 -4
3 2
4 9
5 -2
Run Code Online (Sandbox Code Playgroud)
我试图找到一种快速创建新列df ['binary']的方法,其中df ['x']中的所有正值都输入为1,而df ['x']中的负值输入为0在新的df ['binary']列中.真实的框架非常大,所以我试图用速度来做这件事.任何帮助赞赏.
谢谢