- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要一个新的列( not_ordered_in_STREET_x_before_my_car ),它计算我的 Dataframe 中的 None 值,直到我所在的行,按 x 分组,按 x 和 y 排序。
import pandas as pd
x_start = 1
y_start = 1
size_city = 10
cars = pd.DataFrame({'x': np.repeat(np.arange(x_start,x_start+size_city),size_city),
'y': np.tile(np.arange(y_start,y_start+size_city),size_city),
'pizza_ordered' : np.repeat([None,None,1,6,3,7,5,None,8,9,0,None,None,None,4,None,11,12,14,15],5)})
前 4 列是我拥有的,第 5 列是我想要的。
x y pizza_ordered not_ordered_in_STREET_x_before_my_car
0 1 1 None 0
1 1 2 None 1
2 1 3 1 2
3 1 4 2 2
4 1 5 1 2
5 1 6 1 2
6 1 7 1 2
7 1 8 None 2
8 1 9 1 3
9 1 10 4 3
10 2 1 1 0
11 2 2 None 0
12 2 3 None 1
13 2 4 None 2
14 2 5 4 3
15 2 6 None 3
16 2 7 5 4
17 2 8 3 4
18 2 9 1 4
19 2 10 1 4
这是我尝试过的,但它不起作用。
cars = cars.sort_values(['x', 'y'])
cars['not_ordered_in_STREET_x_before_my_car'] = cars.where(cars['pizza_ordered'].isnull()).groupby(['x']).cumcount().add(1)
最佳答案
你可以试试:
cars["not_ordered_in_STREET_x_before_my_car"] = cars.groupby("x")[
"pizza_ordered"
].transform(lambda x: x.isna().cumsum().shift(1).fillna(0).astype(int
))
print(cars)
打印:
x y pizza_ordered not_ordered_in_STREET_x_before_my_car
0 1 1 None 0
1 1 2 None 1
2 1 3 None 2
3 1 4 None 3
4 1 5 None 4
5 1 6 None 5
6 1 7 None 6
7 1 8 None 7
8 1 9 None 8
9 1 10 None 9
10 2 1 1 0
11 2 2 1 0
12 2 3 1 0
13 2 4 1 0
14 2 5 1 0
15 2 6 6 0
16 2 7 6 0
17 2 8 6 0
18 2 9 6 0
19 2 10 6 0
20 3 1 3 0
21 3 2 3 0
22 3 3 3 0
23 3 4 3 0
24 3 5 3 0
25 3 6 7 0
26 3 7 7 0
27 3 8 7 0
28 3 9 7 0
29 3 10 7 0
30 4 1 5 0
31 4 2 5 0
32 4 3 5 0
33 4 4 5 0
34 4 5 5 0
35 4 6 None 0
36 4 7 None 1
37 4 8 None 2
38 4 9 None 3
39 4 10 None 4
40 5 1 8 0
41 5 2 8 0
42 5 3 8 0
43 5 4 8 0
44 5 5 8 0
45 5 6 9 0
46 5 7 9 0
47 5 8 9 0
48 5 9 9 0
49 5 10 9 0
50 6 1 0 0
51 6 2 0 0
52 6 3 0 0
53 6 4 0 0
54 6 5 0 0
55 6 6 None 0
56 6 7 None 1
57 6 8 None 2
58 6 9 None 3
59 6 10 None 4
60 7 1 None 0
61 7 2 None 1
62 7 3 None 2
63 7 4 None 3
64 7 5 None 4
65 7 6 None 5
66 7 7 None 6
67 7 8 None 7
68 7 9 None 8
69 7 10 None 9
70 8 1 4 0
71 8 2 4 0
72 8 3 4 0
73 8 4 4 0
74 8 5 4 0
75 8 6 None 0
76 8 7 None 1
77 8 8 None 2
78 8 9 None 3
79 8 10 None 4
80 9 1 11 0
81 9 2 11 0
82 9 3 11 0
83 9 4 11 0
84 9 5 11 0
85 9 6 12 0
86 9 7 12 0
87 9 8 12 0
88 9 9 12 0
89 9 10 12 0
90 10 1 14 0
91 10 2 14 0
92 10 3 14 0
93 10 4 14 0
94 10 5 14 0
95 10 6 15 0
96 10 7 15 0
97 10 8 15 0
98 10 9 15 0
99 10 10 15 0
关于python - cumcount() 无,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66806209/
我想要一个新的列( not_ordered_in_STREET_x_before_my_car ),它计算我的 Dataframe 中的 None 值,直到我所在的行,按 x 分组,按 x 和 y 排
当前正在尝试将我从 Pandas 制作的脚本转换为pyspark,我有一个数据框,其中包含以下形式的数据: index | letter ------|------- 0 | a 1
我创建一个数据框 df = pd.DataFrame({"b": ['A','A','A','A','B', 'B','B','C','C','D','D', 'D','D','D','D','D',
我有一个看起来像这样的 df: ID Component IDDate EmployeeID CreateUserID 24 1 2017-09-1
我有一个包含名称和日期的数据框。我想创建一个计数列,它只会在日期不同时递增。请看下面第三栏: Name Date COLUMN I NEED ---- ----
阿罗哈, 我有以下数据框 stores = [1,2,3,4,5] weeks = [1,1,1,1,1] df = pd.DataFrame({'Stores' : stores,
我有这个数据框: dic = {'users' : ['A','A','B','A','A','B','A','A','A','A','A','B','A'], 'pr
考虑数据框 df = pd.DataFrame( [ ['A', 1], ['A', 1], ['B', 1], ['B', 0
这是我拥有的数据: ID Vehicle Calculator Offer NextCalculator NextOffer 3497827 2002 For
我有一个如下所示的 df: df = pd.DataFrame({"child": ["A", "B", "C", "D", "E", "D", "A"],
我有一个看起来像这样的数据框 ID ..... config_name config_version ... aa A 0
我有一个 DataFrame,我按 Internal Score 和 Issue Date(按季度)分组。然后我想创建一个统计表,其中包括贷款数量的累计计数(由 Loan # 的不同计数表示)、贷款金
我想添加一列(标题为“acc_dates”),该列将给出带有日期时间索引的数据框中日期的增加计数。这是一个例子: import pandas as pd import datetime as dt d
我是一名优秀的程序员,十分优秀!