小编Ale*_*ini的帖子

熊猫:根据行值删除重复项

我有一个数据框,我想根据不同的条件删除重复项。

        A      B
  0     1     1.0
  1     1     1.0
  2     2     2.0
  3     2     2.0
  4     3     3.0
  5     4     4.0
  6     5     5.0
  7     -     5.1
  8     -     5.1
  9     -     5.3
Run Code Online (Sandbox Code Playgroud)

我想从A列中删除所有重复项,但带有“-”的行除外。在此之后,我想基于A列的B列值,使用“-”作为值从A列中删除重复项。给定输入数据框,应返回以下内容:

        A      B
  0     1     1.0
  2     2     2.0
  4     3     3.0
  5     4     4.0
  6     5     5.0
  7     -     5.1
  9     -     5.3
Run Code Online (Sandbox Code Playgroud)

我有以下代码,但是对于大量数据而言效率不高,我该如何改善它。

 def generate(df):
     str_col = df[df["A"] == "-"]

     df.drop(df[df["A"] == "-"].index, inplace=True)

     df = df.drop_duplicates(subset="A")

     str_col = b.drop_duplicates(subset="B")

     bigdata = df.append(str_col, ignore_index=True)

     return …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

根据条件增加数据框列

我有一个数据框,我想根据其他列上的条件创建一个新列。创建带有1的新列“ ans”,并基于列“ ix”递增。在“ ix”列中,如果该值与下一个相同,则使“ ans”列保持相同,并且其增量“ ans”不同

感谢您的回答,我是Python的新手,所以我不确定该怎么做

      index   ix  
        1     pa 
        2     pa
        3     pa
        4     pe
        5     fc
        6     pb
        7     pb
        8     df
Run Code Online (Sandbox Code Playgroud)

应导致:-

      index   ix  ans
        1     pa   1
        2     pa   1
        3     pa   1
        4     pe   2
        5     fc   3
        6     pb   4
        7     pb   4
        8     df   5
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

熊猫根据条件移动行

我试图将每一列中包含特定字符的每一行移动到数据框的底部.....

    Index  Closer  Running
      0      4      AQ
      1      -      AQ
      2      -      AD
      3      2      AP
      4      9      AP
      5      5      AQ
Run Code Online (Sandbox Code Playgroud)

我试图将包含“-”的Closer列中的每一行移到数据框的底部,这样我得到的数据框看起来像这样,我该如何去做?

      Index  Closer  Running
      0      4        AQ
      1      2        AP
      2      9        AP
      3      5        AQ
      4      -        AQ
      5      -        AD
Run Code Online (Sandbox Code Playgroud)

python pandas

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

从第一行计算数据帧的百分比变化

我想使用第一行作为参考来计算数据框中的百分比变化。例如我的数据框

Set  rate  field
 A     3     10
 B     2     17
 C     5     4
Run Code Online (Sandbox Code Playgroud)

使用 A 行作为参考,我想计算数据框中所有列从 A 行到每隔一行的百分比变化。这将导致

Set  rate  field      
 A     3     10 
 B    -33    70
 C    66.66  -60

or

Set  rate  field pct_rate   pct-field
 A     3     10     0           0
 B     2     17     -33         70
 C     5     4      66.66       -60
Run Code Online (Sandbox Code Playgroud)

我的代码:

 z %>%
   mutate(pct_rate = (rate - lag(rate)/ rate ) * 100)
Run Code Online (Sandbox Code Playgroud)

这没有给我想要的结果

r dataframe

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

标签 统计

dataframe ×3

pandas ×3

python ×3

r ×1