我在pandas数据框中的数据如下:
df1 = pd.DataFrame({'A':['yes','yes','yes','yes','no','no','yes','yes','yes','no'],
'B':['yes','no','no','no','yes','yes','no','yes','yes','no']})
Run Code Online (Sandbox Code Playgroud)
所以,我的数据看起来像这样
----------------------------
index A B
0 yes yes
1 yes no
2 yes no
3 yes no
4 no yes
5 no yes
6 yes no
7 yes yes
8 yes yes
9 no no
-----------------------------
Run Code Online (Sandbox Code Playgroud)
我想将其转换为另一个数据框架.预期的输出可以在以下python脚本中显示:
output = pd.DataFrame({'A':['no','no','yes','yes'],'B':['no','yes','no','yes'],'count':[1,2,4,3]})
Run Code Online (Sandbox Code Playgroud)
所以,我的预期输出看起来像这样
--------------------------------------------
index A B count
--------------------------------------------
0 no no 1
1 no yes 2
2 yes no 4
3 yes yes 3
--------------------------------------------
Run Code Online (Sandbox Code Playgroud)
实际上,我可以通过使用以下命令找到所有组合并计算它们: mytable = df1.groupby(['A','B']).size()
然而,事实证明这种组合在一列中.我想将组合中的每个值分成不同的列,并为计数结果再添加一列.有可能吗?我可以提出你的建议吗?先感谢您.
我有一个样本数据如下:
import pandas as pd
df = pd.DataFrame({"x": [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120],
"id": [1, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5],
"label": ["a", "a", "a", "b", "a", "b", "b", "b", "a", "b", "a", "b"]})
Run Code Online (Sandbox Code Playgroud)
所以我的数据看起来像这样
x id label
10 1 a
20 1 a
30 1 a
40 1 b
50 2 a
60 2 b
70 3 a
80 3 a
90 4 b
100 4 a …Run Code Online (Sandbox Code Playgroud) 我有一个数据框
df = pd.DataFrame({'A':[1,2,3],'B':[2,3,4]})
Run Code Online (Sandbox Code Playgroud)
我的数据看起来像这样
Index A B
0 1 2
1 2 3
2 3 4
Run Code Online (Sandbox Code Playgroud)
我想计算每行中 A 和 B 之间的乘法总和。预期的结果应该是 (1x2)+(2x3)+(3x4) = 2 + 6 + 12 = 20。我可以知道 pythonic 的方法来做到这一点而不是循环吗?
我的日历数据框如下。
calendar = pd.DataFrame({"events": ["e1", "e2", "e3"],
"date_start": ["2021-02-01", "2021-02-06", "2021-02-03"],
"date_end":["2021-02-04", "2021-02-07", "2021-02-03"],
"country": ["us", "us", "uk"]})
calendar["date_start"] = pd.to_datetime(calendar["date_start"])
calendar["date_end"] = pd.to_datetime(calendar["date_end"])
Run Code Online (Sandbox Code Playgroud)
我有一个每日数据框,如下所示。
daily = pd.DataFrame({"date": pd.date_range(start="2021-02-01", end="2021-02-08"),
"value":[10, 20, 30, 40, 50, 60, 70, 80]})
Run Code Online (Sandbox Code Playgroud)
我只想获取来自美国的事件并加入每日数据框,但加入条件是(日期 >= date_start)和(日期 <= date_end)。所以预期的输出看起来像这样
date value events
2021-02-01 10 e1
2021-02-02 20 e1
2021-02-03 30 e1
2021-02-04 40 e1
2021-02-05 50
2021-02-06 60 e2
2021-02-07 70 e2
2021-02-08 80
Run Code Online (Sandbox Code Playgroud)
我可以做循环,但效果不佳。我可以请您提出如何以更好的方式去做的建议吗?
我创建了一个日期数据框,如下所示:
import pandas as pd
timespan = 366
df = pd.DataFrame({'Date':pd.date_range(pd.datetime.today(), periods=timespan).tolist()})
Run Code Online (Sandbox Code Playgroud)
我正在努力确定季度中的天数。例如
date expected_value
2017-01-01 1 # First day in Q1
2017-01-02 2 # Second day in Q1
2017-02-01 32 # 32nd day in Q1
2017-04-01 1 # First day in Q2
Run Code Online (Sandbox Code Playgroud)
我可以听听你的建议吗?先感谢您。
我有许多具有无法控制的背景颜色的标本图像。其中一些有黑色背景。其中一些有白色背景。其中一些有绿色背景等。
我想删除给定图像的这些背景颜色,其中图像中的对象只是一个样本。我尝试了这段代码,但它没有按我的预期工作。
def get_holes(image, thresh):
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
im_bw = cv2.threshold(gray, thresh, 255, cv2.THRESH_BINARY)[1]
im_bw_inv = cv2.bitwise_not(im_bw)
_, contour, _ = cv2.findContours(im_bw_inv, cv2.RETR_CCOMP, cv2.CHAIN_APPROX_SIMPLE)
for cnt in contour:
cv2.drawContours(im_bw_inv, [cnt], 0, 255, -1)
nt = cv2.bitwise_not(im_bw)
im_bw_inv = cv2.bitwise_or(im_bw_inv, nt)
return im_bw_inv
def remove_background(image, thresh, scale_factor=.25, kernel_range=range(1, 15), border=None):
border = border or kernel_range[-1]
holes = get_holes(image, thresh)
small = cv2.resize(holes, None, fx=scale_factor, fy=scale_factor)
bordered = cv2.copyMakeBorder(small, border, border, border, border, cv2.BORDER_CONSTANT)
for i in kernel_range:
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, …Run Code Online (Sandbox Code Playgroud) 我想在一个数据框中添加一列,其中包含另一个数据框中的匹配数。例如,
df1 = pd.DataFrame({'A':['yes','yes','yes','yes','yes','yes','no','no','no','no','no','no'],
'B':['L','L','M','M','H','H','L','L','M','M','H','H'],
'C':[True,False,True,False,True,False,True,False,True,False,True,False]})
Run Code Online (Sandbox Code Playgroud)
对于 df1 中的每一行,我想知道它在 df2 中的计数
df2 = pd.DataFrame({'A':['yes','yes','no','yes','no','yes','yes','no','no','no'],
'B':['L','M','M','L','M','M','H','L','H','M'],
'C':[True,True,True,True,True,False,False,False,False,False]})
Run Code Online (Sandbox Code Playgroud)
通过在 df1 中添加“count”列,预期输出如下:
index A B C count
0 yes L True 2
1 yes L False 0
2 yes M True 1
3 yes M False 1
4 yes H True 0
5 yes H False 1
6 no L True 0
7 no L False 1
8 no M True 2
9 no M False 1
10 no H True 0
11 …Run Code Online (Sandbox Code Playgroud) 我想在 Ubuntu 上为深度学习设置 AMD Radeon。我工作的主要库是 keras 和 pytorch。我在这里严格遵循 ROCm 安装指南,但在使用命令的第 3 步失败了sudo apt install rocm-dkms。错误消息显示如下。
Setting up dkms (2.8.1-5ubuntu1) ...
Setting up hip-rocclr (4.0.20496.5685.40000-23) ...
Setting up rock-dkms (1:4.0-23) ...
Loading new amdgpu-4.0-23 DKMS files...
Building for 5.8.0-41-generic
Building for architecture x86_64
Building initial module for 5.8.0-41-generic
Error! Bad return status for module build on kernel: 5.8.0-41-generic (x86_64)
Consult /var/lib/dkms/amdgpu/4.0-23/build/make.log for more information.
dpkg: error processing package rock-dkms (--configure):
installed rock-dkms package post-installation script …Run Code Online (Sandbox Code Playgroud)