import pandas as pd
data={'col1':[1,3,3,1,2,3,2,2]}
df=pd.DataFrame(data,columns=['col1'])
print df
col1
0 1
1 3
2 3
3 1
4 2
5 3
6 2
7 2
Run Code Online (Sandbox Code Playgroud)
我有以下Pandas DataFrame,我想创建另一个列,比较前一行col1,看看它们是否相等.最好的方法是什么?它就像下面的DataFrame.谢谢
col1 match
0 1 False
1 3 False
2 3 True
3 1 False
4 2 False
5 3 False
6 2 False
7 2 True
Run Code Online (Sandbox Code Playgroud) 我有一个如下数据框:
import pandas as pd
data={'location':['LA','LA','SF','LA','SF','LA','SF'], 'col2': [1, 3, 5, 2, 8, 5, 7], 'col3': [11, 14, 54, 67, 2, 9, 45]}
df=pd.DataFrame(data,columns=['location', 'col2', 'col3'])
print df
location col2 col3
0 LA 1 11
1 LA 3 14
2 SF 5 54
3 LA 2 67
4 SF 8 2
5 LA 5 9
6 SF 7 45
Run Code Online (Sandbox Code Playgroud)
我想分组"位置",然后取我分组的所有行的"col2"的最大值,但我不想要"col3"的最大值.我希望"col3"的值与"col3"的行相同,该行具有该位置的最大"col2".我希望数据帧完成时的外观如下:
location col2 col3
0 LA 5 9
1 SF 8 2
Run Code Online (Sandbox Code Playgroud)
在此先感谢,如果有任何不清楚的地方,请告诉我
我有一个像下面这样的Pandas数据帧:
col1 col2 col3 col4
0 5 1 11 9
1 2 3 14 7
2 6 5 54 8
3 11 2 67 44
4 23 8 2 23
5 1 5 9 8
6 9 7 45 71
Run Code Online (Sandbox Code Playgroud)
我想创建一个第5列(col5),它取决于col1的值,并取其他列之一的值.
这是我希望它看起来的样子,但我遇到了一些问题.
if col1 < 3:
col5 == col2
elif col1 < 7 & col1 >= 3:
col5 == col3
elif col1 >= 7 & col1 < 50:
col5 == col4
Run Code Online (Sandbox Code Playgroud)
哪个会产生以下数据帧:
col1 col2 col3 col4 col5
0 5 1 …Run Code Online (Sandbox Code Playgroud) python if-statement multiple-columns conditional-statements pandas
我有一个如下数据框:
import pandas as pd
data={'col1':[1,3,3,1,2,3,2,2, 1], 'col2':[np.nan, 1, np.nan, 1, np.nan, np.nan, np.nan, 2, np.nan]}
df=pd.DataFrame(data,columns=['col1', 'col2'])
print df
col1 col2
0 1 NaN
1 3 1.0
2 3 NaN
3 1 1.0
4 2 NaN
5 3 NaN
6 2 NaN
7 2 2.0
8 1 NaN
Run Code Online (Sandbox Code Playgroud)
我试图制作第三列填充NaN值,col2如果值col2等于1.0或上面的行col2是1.0.最终的数据框如下所示:
col1 col2 col3
0 1 NaN NaN
1 3 1.0 1.0
2 3 NaN 1.0
3 1 1.0 1.0
4 …Run Code Online (Sandbox Code Playgroud)