- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是我之前问过的问题,但我用错误的方式解释了它,所以我将再次打开一个新问题。感谢您的帮助和时间!
数据输入:
df=pd.DataFrame({'variable':["A","A","B","B","C","D","E","E","E","F","F","G"],'weight':[2,2,0,0,1,3,3,1,5,0,0,4]})
df
Out[447]:
variable weight
0 A 2
1 A 2
2 B 0
3 B 0
4 C 1
5 D 3
6 E 3
7 E 1# If value more than 2 , out put should be 0
8 E 5
9 F 0
10 F 0
11 G 4
预期输出:
df
Out[449]:
variable weight NEW
0 A 2 1
1 A 2 1
2 B 0 1
3 B 0 1
4 C 1 1
5 D 3 ERROR
6 E 3 ERROR
7 E 1 1
8 E 5 1
9 F 0 1
10 F 0 1
11 G 4 ERROR
我现在的方法(丑陋..):
l1=[]
for i in df.variable.unique():
temp=df.loc[df.variable==i]
l2 = []
for j in range(len(temp)):
print(i,j)
if temp.iloc[j,1]<=2 :
l2.append(1)
elif temp.iloc[j,1]>2 and j==0:
l2.append('ERROR')
elif temp.iloc[j,1]>2 and j > 0 :
if l2[j - 1] == 1:
l2.append(1)
else:
l2.append(0)
print(l2)
l1.extend(l2)
df['NEW']=l1
我的问题:
第一。如果我想使用 groupby
,我怎样才能让 per-calculated result 参与到 future 的计算中,以便在这里得到 NEW
列。
第二。有没有像.Last.value
这样的pandas
函数在 R
中?
我会在这里解释条件:
1.如果weight的值小于2总是应该为1
2.如果权重的第一个值大于2则返回ERROR
3.如果前一个得到'ERROR'并且当前行的权重值大于2,则返回0
请将输入更改为:
df=pd.DataFrame({'variable':["A","A","B","B","C","D","E","E","E","F","F","G"],'weight':[2,2,0,0,1,3,3,9,5,0,0,4]})
最佳答案
n = 2 # `Error` weight filter.
# Get boolean index of whether weight of first item in group is greater than `n`.
mask = df.loc[[idx[0] for idx in df.groupby('variable')['weight'].groups.values()], 'weight'].gt(n)
df = df.assign(New=1)
df.loc[mask[mask].index, 'New'] = 'ERROR'
>>> df
variable weight New
0 A 2 1
1 A 2 1
2 B 0 1
3 B 0 1
4 C 1 1
5 D 3 ERROR
6 E 3 ERROR
7 E 1 1
8 E 5 1
9 F 0 1
10 F 0 1
11 G 4 ERROR
关于python - Pandas 中的 Rowwise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46227296/
简单的问题,但不知道为什么: 输入 Eigen::MatrixXd Ha(2, 3); Ha << 1, 2, 3, 4, 5, 6; std::cout << "Ha: " << std::endl
我有一个包含多列的数据框,我创建了一个新列,该列从其他列中的任一列中随机采样一个值。我如何回溯以判断该值来自哪一列? 我见过完全相同的问题和解决方案 here ,但它在 python 中,找不到 R
我想将两个向量合并到一个数据集中,并将其与函数 mutate 集成为 5 个新列到现有数据集中。这是我的示例代码: vector1% rowwise()%>% mutate(vector2|>
我再次对如何实现这一目标感到困惑: 鉴于此数据框: df 1 1 1 0 2 2 0 1 1 1 3 1
我正在尝试创建一个新列,其中将包含对 tibble 的列的子集按行进行计算的结果, 并将此新列添加到现有的 tibble。像这样: df % select(starts_with("A")) %>%
我有这个 df: df 1 1 6 11 a 1 2 2 7 12 b 2 3 3 8 13
我有一个数据: df_1 % select(-y) %>% rowwise() %>% mutate(var = sum(c(x.1, x.3))) 但是,以下函数(对于所有变量)不起作用
这是我之前问过的问题,但我用错误的方式解释了它,所以我将再次打开一个新问题。感谢您的帮助和时间! 数据输入: df=pd.DataFrame({'variable':["A","A","B","B",
我正在处理如下所示的数据框,并想计算 A 列中某些模式(“B”和“C”)的出现次数。 使用 rowwise、mutate 和 grepl 的代码确实有效,但使用 rowwise 的速度非常慢。我想知道
我有一个数据框,想使用 dplyr 的逐行计算每行中零的数量。我做错了什么? dt2 = data.frame(A = c(8, 6), B = c(0, 0), C = c(0, 5)) dt2 z
我正在尝试对具有字符向量作为列表元素的列表变量执行集合操作(相交、联合、setdiff、setequal)。例如, library(dplyr) list1 = list(c('a', 'b'),
我尝试使用 mutate 和 rowwise 返回一个列表,但出现代码中显示的错误。这些问题Q1 Q2有帮助,但我想通过使用 rowwise() 迭代行来保持简单,并且问题已经有 3 年 7 个月了。
你好:谁能提供一个外行的解释,为什么这两种尝试计算行平均值的方法不同? 谢谢。 library(tidyverse) var1% select(starts_with('var')) %>%
因此,如果希望在 dplyr 中逐行应用操作,可以使用 rowwise函数,例如:Applying a function to every row of a table using dplyr? 有没
我有下面的 tibble,我想从中创建第 4 列,它是来自 A、B 和 C 的联合向量。我知道 dplyr::unite() 可以创建一个新的字符向量,但我正在寻找创建一个带有向量的列表列。 现在 r
我有一个像这样的 Pandas 数据框: df = pd.DataFrame({'A': [2, 3], 'B': [1, 2], 'C': [0, 1], 'D': [1, 0], 'total':
我在使用 rowwise() 计算每行中的 NA 数量时遇到问题。我的最小例子: df % rowwise() %>% mutate(Count_NA = sum(is.na(.))) #
这在某种程度上与此question有关: 原则上,我尝试了解使用多于1种功能(如(rowwise,mutate,mean()等)的多列sum()的min()操作是如何工作的。 我了解到across可以
这个问题已经有答案了: Pandas conditional creation of a series/dataframe column (13 个回答) Create new column base
我尝试将 rowwise 和 mutate 与可以返回 NA 值的函数一起使用,但出现错误。考虑这个人为的示例(这显然不是 rowwise 的情况,但说明了错误): 这有效: library(dply
我是一名优秀的程序员,十分优秀!