小编jth*_*359的帖子

比较Pandas DataFrame中的先前行值

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)

python boolean numpy shift pandas

23
推荐指数
4
解决办法
2万
查看次数

熊猫 - 多行最多一列

我有一个如下数据框:

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)

在此先感谢,如果有任何不清楚的地方,请告诉我

python pandas

2
推荐指数
1
解决办法
258
查看次数

Pandas:依赖于另一个值的列

我有一个像下面这样的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

1
推荐指数
1
解决办法
1516
查看次数

基于上面的行,熊猫填补缺失值

我有一个如下数据框:

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或上面的行col21.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)

python pandas

1
推荐指数
1
解决办法
1116
查看次数