我正在使用以下代码将字符串转换为数据集中的分类值.
data['weekday'] = pd.Categorical.from_array(data.weekday).labels
Run Code Online (Sandbox Code Playgroud)
例如,
index weekday
0 Sunday
1 Sunday
2 Wednesday
3 Monday
4 Monday
5 Thursday
6 Tuesday
Run Code Online (Sandbox Code Playgroud)
对工作日进行编码后,我的数据集显示如下:
index weekday
0 3
1 3
2 6
3 1
4 1
5 4
6 5
Run Code Online (Sandbox Code Playgroud)
有什么方法我可以知道星期日已经映射到3,星期三到6,依此类推?
我有一个如下所示的数据框:
from to datetime other
-------------------------------------------------
11 1 2016-11-06 22:00:00 -
11 1 2016-11-06 20:00:00 -
11 1 2016-11-06 15:45:00 -
11 12 2016-11-06 15:00:00 -
11 1 2016-11-06 12:00:00 -
11 18 2016-11-05 10:00:00 -
11 12 2016-11-05 10:00:00 -
12 1 2016-10-05 10:00:59 -
12 3 2016-09-06 10:00:34 -
Run Code Online (Sandbox Code Playgroud)
我想分组"从"然后"到"列,然后按降序排序"日期时间",然后最终想要计算当前时间和下一次之间按对象分组的时间差.例如,在这种情况下,我想拥有如下数据框:
from to timediff in minutes others
11 1 120
11 1 255
11 1 225
11 1 0 (preferrably subtract this date from the epoch)
11 12 300 …Run Code Online (Sandbox Code Playgroud) 我有一个包含的数据框
user_id date browser conversion test sex age country
1 2015-12-03 IE 1 0 M 32.0 US
Run Code Online (Sandbox Code Playgroud)
到目前为止,这是我的整个代码!
data["country"].fillna("missing")
data["age"].fillna(-10000, inplace=True)
data["ads_channel"].fillna("missing")
data["sex"].fillna("missing")
data['date'] = pd.to_datetime(data.date)
columns = data.columns.tolist()
columns = [c for c in columns if c not in ["test"]]
from sklearn import tree
clf = tree.DecisionTreeClassifier(max_depth=2, min_samples_leaf = (len(data)/100) )
clf = clf.fit(data[columns],data["test"])
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-560-95a8a54aa939> in <module>()
4 from sklearn import tree
5 clf = tree.DecisionTreeClassifier(max_depth=2, min_samples_leaf = (len(data)/100) )
----> …Run Code Online (Sandbox Code Playgroud) 我对熊猫很陌生,并试图使用groupby. 我有一个多列的 df。
col1分组,然后对每个组进行排序col5,然后执行reset_index以获取数据帧的所有行。AttributeError: Cannot access callable attribute 'reset_index' of 'DataFrameGroupBy' objects, try using the 'apply' method。我的输入数据框:
col1 | col2 | col3 | col4 | col5
=================================
A | A1 | A2 | A3 | DATE1
A | B1 | B2 | B3 | DATE2
Run Code Online (Sandbox Code Playgroud)
我的代码:
df.sort_values(['col5'],ascending=False).groupby('col1').reset_index()
Run Code Online (Sandbox Code Playgroud) 我正在使用OpenCV来处理我的研究视频.我在Windows 10上安装了Python 2.7和OpenCV 3.2版本.当我使用OpenCV在Python上对视频进行背景扣除时,它可以正常工作并产生输出.但是,当我尝试保存背景扣除视频时,会抛出此错误:
warning: Error opening file (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:779)
warning: MAH00119.avi (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:780)
OpenCV: FFMPEG: tag 0x34363258/'X264' is not supported with codec id 28 and format 'h264 / raw H.264 video'
Failed to load OpenH264 library: openh264-1.6.0-win64msvc.dll
Please check environment and/or download library: https://github.com/cisco/openh264/releases
[libopenh264 @ 0000000001f5bf60] Incorrect library version loaded
Could not open codec 'libopenh264': Unspecified error
Run Code Online (Sandbox Code Playgroud)
我正在处理MP4视频.我在安装ffmpeg时仔细按照说明操作,就像添加bin的环境变量路径一样.我不知道还能做什么.现在坚持了三天.
任何帮助将非常感激!提前致谢!!
我正在尝试使用不同的聚类技术在 Python 中对时间序列数据进行聚类。K-means 没有给出好的结果。以下图像是我使用凝聚聚类进行聚类后的图像。我也尝试过动态时间扭曲。这两个似乎给出了相似的结果。
理想情况下,我想要的是第二张图像中时间序列的两个不同集群。第一个图像是一个快速增加的集群。第二个没有增加,有点像稳定,第三个是减少趋势的集群。我想知道哪些时间序列既稳定又流行(这里流行,我的意思是高计数)。我尝试了层次聚类,但结果显示层次结构太多,我不确定如何选择层次结构级别。有人可以阐明如何将第二张图像中的时间序列分成两个不同的集群,一个计数低,另一个计数高?有可能做到吗?或者我应该只是在视觉上选择一个阈值将它们切成两半?
快速增长的集群:
具有稳定计数的集群:
具有下降趋势的集群:
这是非常非常模糊的,但这是我的层次聚类的结果。
我知道这个特定的图像根本没有用,但这对我来说也是一个死胡同。
一般而言,如果您想区分趋势,例如 YouTube 视频,如何仅选择一些用于“趋势”部分,而另一些则用于“本周趋势”部分?我知道“趋势”部分的视频显示出与第一张图像相似的特征。“本周热门”部分有一系列视频,这些视频具有很高的观看次数,但在数量方面非常稳定(即没有显示出快速增长)。我知道在 YouTube 的情况下,除了观看次数之外,还有许多其他因素需要考虑。对于第二张图片,我想要做的类似于“本周趋势”部分。我想挑选那些计数非常高的。在这种情况下如何拆分时间序列?
我知道 DTW 捕捉趋势。DTW 给出了与上图相同的结果。它已经确定了第二个图像中“稳定”的趋势。但它没有在这里捕获“计数”元素。我希望捕获趋势和计数,在这种情况下稳定和高计数。
上面的图像是基于计数聚类的时间序列。我是否错过了可以实现这一目标的任何其他聚类技术?即使只是计数,我如何根据需要进行不同的聚类?
任何想法将不胜感激。提前致谢!
cluster-analysis machine-learning hierarchical-clustering time-series
我试图collect_list在 using 时包含空值pyspark,但是该collect_list操作排除了nulls. 我研究了以下帖子Pypsark - 使用collect_list 时保留空值。然而,给出的答案并不是我想要的。
我有一个df像这样的数据框。
| id | family | date |
----------------------------
| 1 | Prod | null |
| 2 | Dev | 2019-02-02 |
| 3 | Prod | 2017-03-08 |
Run Code Online (Sandbox Code Playgroud)
到目前为止,这是我的代码:
df.groupby("family").agg(f.collect_list("date").alias("entry_date"))
这给了我这样的输出:
| family | date |
-----------------------
| Prod |[2017-03-08]|
| Dev |[2019-02-02]|
Run Code Online (Sandbox Code Playgroud)
我真正想要的是如下:
| family | date |
-----------------------------
| Prod |[null, 2017-03-08]|
| Dev |[2019-02-02] |
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个问题吗?谢谢你!
我试图在python中保存背景扣除视频,以下是我的代码.
import cv2
import numpy as np
capture = cv2.VideoCapture('MAH00119.mp4')
size = (int(capture.get(cv2.CAP_PROP_FRAME_WIDTH)),
int(capture.get(cv2.CAP_PROP_FRAME_HEIGHT)))
fourcc = cv2.VideoWriter_fourcc(*'X264')
out = cv2.VideoWriter('output.mp4', -1 , 20.0 , size)
fgbg= cv2.createBackgroundSubtractorMOG2()
while True:
ret, img = capture.read()
if ret==True:
fgmask = fgbg.apply(img)
out.write(fgmask)
cv2.imshow('img',fgmask)
if(cv2.waitKey(27)!=-1):
break
capture.release()
out.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
但是,这会引发以下错误:"找不到OpenCV:FFMPEG:标签0xffffffff /' '(格式为'mp4/MP4(MPEG-4 Part 14)')'"
我安装了FFMPEG并将其添加到环境变量中.我的背景减法代码无需保存到文件工作正常,所以我知道openCV安装没有任何问题.我被困在这个地方.我知道我的python似乎没有识别FFMPEG,但我不知道除了将FFMPEG添加到环境变量之外还有什么可做的.我在Windows 10和Python 2.7上使用OpenCV 3.2版.
任何帮助都感激不尽!
我想知道如何在看起来像这样的数据帧 df 中返回包含 n 个最小值的行。
id xx count
1 A 1
2 B 1
3 C 3
4 D 2
5 E 3
6 F 10
7 G 11
8 H 17
Run Code Online (Sandbox Code Playgroud)
假设我想找到包含 3 个最小计数的行(在这种情况下,3 个最小计数是 1,2 和 3)。所以,我希望答案是这样的:
id xx count
1 A 1
2 B 1
4 D 2
3 C 3
5 E 3
Run Code Online (Sandbox Code Playgroud)
如果我只是根据 count 和 use 对数据帧进行排序df.nsmallest(3, 'count'),它只会返回所需数据帧的前三行。但我想要包含 3 个最小计数的所有行。在熊猫中有没有更简单的方法来做到这一点?提前致谢!
python ×6
pandas ×5
ffmpeg ×2
opencv ×2
video ×2
data-science ×1
difference ×1
pyspark ×1
python-3.x ×1
time-series ×1