如何向 pandas 数据框列系列中的每个偶数行添加一个字符串?
How to add a string to every even row in a pandas dataframe column series?
我是 pandas 的新手。
我想向 pandas 数据框添加一个新列 df
并将 "Start" 分配给每个奇数行,将 "Stop" 分配给每个偶数行。
但是,当我执行 df.iloc[1::2, :] = "Start"
时,我在每个第二个位置插入一个新行,每列中都有 "Start" 字符串。
我知道在这种情况下,pandas 不知道将 "Start" 字符串放在哪一列。
但是,我想不出正确的语法。
这是我的解决方案 - 还没有找到优化部分,但给定一个相当大的数据集,这应该可以很好地处理它 -
import pandas as pd
df = pd.read_csv('temp.csv')
df['New_Col'] = "Start"
df.loc[1::2,"New_Col"] = "Stop"
print df['New_Col']
输出 -
0 Start
1 Stop
2 Start
3 Stop
4 Start
5 Stop
6 Start
7 Stop
8 Start
9 Stop
10 Start
11 Stop
12 Start
13 Stop
14 Start
15 Stop
16 Start
17 Stop
18 Start
19 Stop
20 Start
21 Stop
22 Start
23 Stop
24 Start
25 Stop
26 Start
27 Stop
28 Start
29 Stop
...
116 Start
117 Stop
118 Start
119 Stop
120 Start
121 Stop
122 Start
123 Stop
124 Start
125 Stop
126 Start
127 Stop
128 Start
129 Stop
130 Start
131 Stop
132 Start
133 Stop
134 Start
135 Stop
136 Start
137 Stop
138 Start
139 Stop
140 Start
141 Stop
142 Start
143 Stop
144 Start
145 Stop
Name: New_Col, dtype: object
我是 pandas 的新手。
我想向 pandas 数据框添加一个新列 df
并将 "Start" 分配给每个奇数行,将 "Stop" 分配给每个偶数行。
但是,当我执行 df.iloc[1::2, :] = "Start"
时,我在每个第二个位置插入一个新行,每列中都有 "Start" 字符串。
我知道在这种情况下,pandas 不知道将 "Start" 字符串放在哪一列。
但是,我想不出正确的语法。
这是我的解决方案 - 还没有找到优化部分,但给定一个相当大的数据集,这应该可以很好地处理它 -
import pandas as pd
df = pd.read_csv('temp.csv')
df['New_Col'] = "Start"
df.loc[1::2,"New_Col"] = "Stop"
print df['New_Col']
输出 -
0 Start
1 Stop
2 Start
3 Stop
4 Start
5 Stop
6 Start
7 Stop
8 Start
9 Stop
10 Start
11 Stop
12 Start
13 Stop
14 Start
15 Stop
16 Start
17 Stop
18 Start
19 Stop
20 Start
21 Stop
22 Start
23 Stop
24 Start
25 Stop
26 Start
27 Stop
28 Start
29 Stop
...
116 Start
117 Stop
118 Start
119 Stop
120 Start
121 Stop
122 Start
123 Stop
124 Start
125 Stop
126 Start
127 Stop
128 Start
129 Stop
130 Start
131 Stop
132 Start
133 Stop
134 Start
135 Stop
136 Start
137 Stop
138 Start
139 Stop
140 Start
141 Stop
142 Start
143 Stop
144 Start
145 Stop
Name: New_Col, dtype: object