RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-276171

Pavel's questions

Martin Hope
Pavel
Asked: 2021-10-20 23:05:09 +0000 UTC

pct_change() 动态显示不正确,前一个指标为负值

  • 1

我有一个按期间包含财务指标的数据框,我想在其中计算上一期间的百分比变化:

id  year  profit   assets
qwe  2018  -1373   19577
qwe  2019  1328    23361
dfe  2018  22836   16789
dfe  2019  22290   15335
dfg  2018  -1212    1732
dfg  2019  3089     2323 

为了计算动态,我使用以下代码:

res = (df[["id","year"]]
                .join(df
                      .groupby(["id"], as_index=False)
                      [["profit","assets"]]
                      .pct_change().fillna(0)*100))

结果是一个数据框,其中结果不太正确,因为。前一个值带有一个减号(损失),然后即使下一个周期为正,它也会用一个减号显示百分比的变化,但我希望它正确地用一个加号表示。

如果前一个值为负数,则输出符号不正确:

 id  year  profit   assets
    qwe  2018  0          0
    qwe  2019  -197      19
    dfe  2018  0         0
    dfe  2019  -2       -9
    dfg  2018  0        0
    dfg  2019  -355     34 

它实际上应该是这样的:

 id  year  profit   assets
    qwe  2018  0          0
    qwe  2019  197      19
    dfe  2018  0         0
    dfe  2019  -2       -9
    dfg  2018  0        0
    dfg  2019  355     34 
python
  • 2 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-09-09 21:51:02 +0000 UTC

根据给定的熊猫算法对数据框列进行排序

  • 0

帮助对数据框中的列进行排序。

当前数据框

index 2017  2018  2019  2017 2018 2019 2017_% 2018_% 2019_% 2017_% 2018_% 2019_% 
Ogrn  1111  1111  1111  2222 2222 2222 1111   1111   1111   2222   2222   2222 
name   A      A    A     B    B    B   A       A      A       A      A     A
sales  10    15   20    50   55    40  0    0.5      0.25     0      0.1   - 0.2

有必要得到这样的dataframe

index 2017 2017_%  2018  2018_% 2019  2019_%  2017 2017_% 2018 2018_% 2019  2019_% 
Ogrn  1111 1111    1111  1111   1111   1111  2222 2222   2222  2222   2222   2222 
name   A     A      A     A       A      A    B    B      B    B       B      B 
sales  10    0      15    0.5    20     0.25  50   0      55   0.1    40    - 0.2

我愚蠢地尝试制作一个列表然后对其进行排序,但它不起作用。尝试使用链条但失败了。

我将不胜感激

pandas
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-08-26 22:43:45 +0000 UTC

触发某些事件或值时,熊猫数据框中的财务分析输出

  • 0

我有一个具有不同指标的数据框。如果任何值超出某些限制,则有必要形成一个带有注释的新列。df_ratio:

Name    OGRN  Sales Equity Debt Net_profit   ER    Sales_dyn fin_gearing
Lutik   1234   200    5     10     3        0.001    -0.1       0.5
Pestik  2345   1000   35    20     -10       0.5      0.3       3
Cvet    3456   260    10     0      2        -5       -0.3      -0.4
Drev    4567   350    40     5      10        0.3     0.2       0.3

我尝试创建一个遍历数据框的函数,并在找到关键指标时,在新列中写入相应的注释:

临界值:

df_ratio['ER'] < 0.05 - ER is poor       
df_ratio['ER'] < 0 -    Negative equity
df_ratio['Net_profit'] < 0 - Lossess
df_ratio['fin_gearing'] > 1 - High debt level
df_ratio['Sales_dyn'] < 0 Sales dropped

如果以上条件均不满足,则说明财务状况良好

起初我试图驱动整个函数并通过循环遍历所有列,如果有什么工作,然后通过格式化字符串 f“” 附加到一个空工作表。但事实并非如此:(((困惑!!!

如何查看最终的df df_ratio:

Name    OGRN  Sales Equity Debt Net_profit   ER    Sales_dyn fin_gearing    Comments
Lutik   1234   200    5     10     3        0.001    -0.1       0.5         ER is poor 0.001(Equity=5),
                                                                            Sales droped -0.1(Sales=200)
Pestik  2345   1000   35    20     -10       0.5      0.3       3           Losses -10, High debt 
                                                                            level 3 (Debt=20)
Cvet    3456   260    10     0      2        -5       -0.3      -0.4        Negative equity -5
                                                                           Sales droped -0.3 (Sales=260)      
Drev    4567   350    40     5      10        0.3     0.2       0.3         Sound financial position

我将不胜感激

pandas
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-07-16 16:23:04 +0000 UTC

如何从列中获取信息并将其拆分为多个列?

  • 1

我在处理 DataFrame 并从列中获取数据时遇到了问题:

源数据框:

№     Собственники                                 Рег.дата
0  Ильина Светлана Сергеевна (9 000 руб., 90%)     1177746680143
   Храпов Иван Филиппович (1 000 руб., 10%)
1  Помигуев Сергей Викторович (10 000 руб., 100%)  1187746820117
2  Гинзбург Семен Эдуардович (10 000 руб., 33,33%) 1157746553161
   Буюкян Андрей Завенович (10 000 руб., 33,3%)
   Афонасьев Максим Альбертович (10 000 руб., 33.3%)
3  Nan                                             1089847058322

目标是Собственники从列中获取所有所有者的全名及其所有权份额,分解为每一列:

№     owner_1                 share_1   owner_2                share_2   owner_3  share_3     Рег.дата
 0  Ильина Светлана Сергеевна  90%      Храпов Иван Филиппович   10%     Nan    Nan      1177746680143     
 1  Помигуев Сергей Викторович 100%      Nan                     Nan      Nan   Nan      1187746820117
 2  Гинзбург Семен Эдуардович 33,33%) Буюкян Андрей Завенович    33,3%  АМА    33.3%     1157746553161
 3  Nan                                                                                  1089847058322

regex我在全名和百分之几的帮助下提取了它,但无法进一步说明如何将它完美地分布在各个列中。

def owner_fio(stroka):
    try:
        sample = '[А-ЯЁ][а-яё]+\s+[А-ЯЁ][а-яё]+(?:\s+[А-ЯЁ][а-яё]+)?'
        s = re.findall(sample, stroka)
        return s
    except:
        return None
def owner_share(stroka):
    try:
        sample = '\d{1,}%'
        s = re.findall(sample, stroka)
        return s
    except:
        return None

当我应用上面的函数时,我以列表的形式获得了全名和 % 的新列:

№     owner                                                                      share        Рег.дата
 0  [Ильина Светлана Сергеевна,Храпов Иван Филиппович]                         [90%,10% ]  1177746680143     
 1  [Помигуев Сергей Викторович]                                               [100% ]     1187746820117
 2  [Гинзбург Семен Эдуардович,Буюкян Андрей Завенович,Афонасьев Максим Альбертович] [33.33%,33.3%,33.3%]     1157746553161
 3  Nan                                                                        Nan         1089847058322

现在如何将所有这些正确且有效地划分为列?

在我看来regex,提取百分比也是不正确的,因为 如果百分比分数不是整数,则不考虑。

python
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-06-12 17:58:19 +0000 UTC

如何计算每个元素与某个数的比例?

  • 2

卡在一个难题上,如何漂亮地计算每个元素与某个数字的比例。

有一个数据框:

                               2017     %_2017      2018       %_2018   2019       %_2019
LONG-TERM ASSETS               779,179      0.00    1,004,790   28.95   1,163,862   15.83
CURRENT ASSETS                 23,540,367   0.00    39,743,268  68.83   47,939,841  20.62
CAPITAL AND RESERVES           1,917,017    0.00    2,650,657   38.27   3,520,344   32.81
Borrowed funds (long-term)       401,343    0.00    828,342     106.39  2,115,672   155.41
Borrowed funds (short-term)    1,828,969    0.00    2,241,601   22.56   962,358     -57.07
Total LIABILITIES              24,320,474   0.00    40,747,718  67.54   49,600,194  21.73
Revenue                        83,126,293   0.00    125,638,096 51.14   154,129,923 22.68
Operating profit (loss)         2,044,700   0.00    2,398,963   17.33   4,630,956   93.04
Interest expense                   72,849   0.00    60,733      -16.63    128,529   111.63
Pre-tax profit (loss)            2,120,085  0.00    2,912,776   37.39   4,992,523   71.40
Net profit(loss)                 1,710,746  0.00    2,454,176   43.46   4,267,316   73.88

我想以百分比的形式向每年添加一列,以便将上面Total LIABILITIES的所有行计算为 k 行的一部分Total LIABILITIES(例如:CURRENT ASSETS / Total LIABILITIES等)。

下面的所有内容都Revenue被视为字符串 k Revenue(example:)的一部分Net profit(loss) / Revenue。

我试图分成 2 个 DataFrames(上面Total LIABILITIES的所有内容和下面的所有内容Revenue)并使用执行计算apply(lambda x: x/x.iloc[-1],然后将两个 DataFrames 粘合到一个 using 中concat,但是在计算时,它给出了一个错误。

因此,您需要获取以下 DataFrame:

                                   2017     %_sh_2017 %_2017   2018     %_sh_2018  %_2018          
LONG-TERM ASSETS               779,179        3.20    0.00    1,004,790     2.46    28.95       
CURRENT ASSETS                 23,540,367     96.79   0.00   39,743,268     97.53   68.83   
CAPITAL AND RESERVES           1,917,017      7.88    0.00    2,650,657      6.50   38.27   
Borrowed funds (long-term)       401,343      ...     0.00      828,342      ...   106.39   
Borrowed funds (short-term)    1,828,969      ...     0.00    2,241,601      ...    22.56   
Total LIABILITIES              24,320,474     100     0.00   40,747,718      100    67.54   
Revenue                        83,126,293     100     0.00  125,638,096      100    51.14   
Operating profit (loss)         2,044,700     2.45    0.00    2,398,963      1.90   17.33   
Interest expense                   72,849      ...    0.00       60,733       ...  -16.63     
Pre-tax profit (loss)            2,120,085     2.55   0.00    2,912,776       2.31  37.39   
Net profit(loss)                 1,710,746     ...    0.00    2,454,176        ...  43.46 
python
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-09-11 19:55:08 +0000 UTC

计算整个 DataFrame

  • 4

您需要以另一种货币重新计算给定的 DataFrame:

rate = {'RUB': 69.183071}

df1:

   id val1  val2    val3
    a  100   200    300
    b  500   700    100
    c  1000  1500   2000

需要通过汇率得到另一种币种的df2,粗略的说就是将DataFrame中的值除以汇率:

df2:

id val1  val2    val3
a  1.44   2.89   4.33
b  7.22   10.11   1.44
c  14.45  21.68   28.91

我试图通过它来完成apply lambda,但由于某种原因,一切都只适用于该列并给了我Series。不知何故groupby,它也不起作用。

python
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-08-28 20:18:37 +0000 UTC

调整数据透视表 pandas 中的列

  • 3

同事,帮助更正数据框中的列:

源数据框:

Регистрационный номер  Год  Наименование      Значение
1034700581190         2014 Основные средства 244710.0
1034700581190         2014 Активы            234987645.0
1034700581190         2014 Запасы            3487569

我创建了一个数据透视表来修改表格视图

spark_fin_rows.pivot_table(index=['Регистрационный номер', 'Год'], columns=['Наименование'], values=['Значение'], fill_value=0).reset_index()

我得到了以下数据框

Регистрационный номер  Год    Значение
                               Основные средства Активы      Запасы   
    1034700581190      2014    244710.0          234987645.0   3487569

如何删除列名“价值”,而固定资产资产、股票仍然存在。

python
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-08-18 21:58:13 +0000 UTC

指标动态的计算

  • 4

如何通过指标正确计算动态?

有一个数据框df1:

id  year  sales assets
qwe  2014  110    50
qwe  2015  115    53
qwe  2016  117    52
qwe  2017  120    55
dfe  2014  76     45
dfe  2015  80     47
dfe  2016  83     50
dfe  2017  85     50 

您需要计算销售动态和资产动态df2:

id  year  % sales %assets
qwe  2014  1       1
qwe  2015  1.04    1.06
qwe  2016  1.01    0.98
qwe  2017  1.02    1.05
dfe  2014  1       1
dfe  2015  1.05    1.04
dfe  2016  1.03    1.06
dfe  2017  1.02    1 

year考虑到将列中最小的年份作为基准年,无法计算动态系数。

python
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-08-09 21:16:35 +0000 UTC

按员工分组完成任务的数量

  • 3

如何正确分组数据?

有一个数据框,其中包含每个分析师和任务类型的已完成任务状态:

df1

    ID     Board   Analyst   Status   Crea_d       Fin_d
    46258  RUCRA   Ivanov    open     2019-07-10    NaT
    2345   RUCRA   Ivanov    close    2019-07-11   2019-07-11
    46218  RUCRA   Ivanov    close    2019-07-11   2019-07-11
    3087   RUCRA   Sidorov   open     2019-07-22    NaT
    2367   BV      Petrov    open     2019-07-25    NaT
    2985   GRADE   Petrov    close    2019-07-05   2019-07-05 
    20987  GRADE   Ivanov    close    2019-07-11   2019-07-12
    2396   BV      Sidorov   open     2019-07-29     NaT

有必要以这样一种方式对数据进行分组,以便您可以查看在特定时期(每天、每周、每月)按类型(董事会)完成了多少分析师以及还有多少未完成的任务。

grouped_df:

      Board   Analyst   Status   Count       
      RUCRA   Ivanov    open     1    
      RUCRA   Ivanov    close    2   
      RUCRA   Sidorov   open     1    
      BV      Petrov    open     1    
      GRADE   Petrov    close    1    
      GRADE   Ivanov    close    1
      BV      Sidorov   open     1     

我做了类似的事情,但是逻辑在某个地方被破坏了,我无法弄清楚:

grouped_df: = (df1.groupby(['Board','Analyst','Status', pd.Grouper(key='Fin_d', freq='M')], as_index=False)['ID'].count())

我只想为每个分析师构建图表,他每天使用趋势线执行多少任务(条形图),但是由于代码中的错误或违反逻辑,没有任何结果。

python
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-05-15 20:56:12 +0000 UTC

熊猫日期格式翻译错误

  • 1

同事,

帮助正确翻译日期的错误。

我有一个数据框:

东风:

name  date
Fora  08.04.2019 14:04
Jara  17.12.2018 17:29
Aura  04.07.2018 16:40

所有类型最初都是非空对象

使用以下代码,我想正确地将日期类型更改为日期格式,但同时保留原始日期类型:

df['date'] = pd.to_datetime(df['date']).dt.strftime('%d.%m.%Y')

但是,我最终在重新格式化时遇到了以下事件:

name  date
Fora  04.08.2019 
Jara  17.12.2018 
Aura  07.04.2018

那些。本来应该是一天的一天变成了一个月:(((我将不胜感激有关如何正确且没有错误地进行操作的提示!

python
  • 2 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-05-15 16:24:39 +0000 UTC

比较 2 个数据框并显示更改

  • 1

请告诉我,在比较 pandas 中的 2 个数据框时,如何仅显示根据条件发生的变化。

df1:

Id   Name  Amount Contract_ID  Date
195   ART   200     23rt       2019-02-21
264   Pict  150     18f        2019-01-17
482   Tras  379     427df      2019-02-10
294   Fish  375     29fg       2019-02-11

df2

Id   Name  Amount  Contract_ID  Date
195    ART   250      23rt       2019-03-26
190    Tree  100      312ft      2019-03-15
482    Tras  379      427df      2019-03-20
264    Pict  50       18f        2019-04-01
294    Fish  450      29fg       2019-04-20
294    Fish  100      26394rt    2019-03-20

您需要获得以下结果 - 创建一个数据框,其中只有数量增加的行或新行:

df_update:
195    ART   250      23rt       2019-03-26
190    Tree  100      312ft      2019-03-15
294    Fish  450      29fg       2019-04-20
294    Fish  100      26394rt    2019-03-20

我试图用下面的代码来做,但没有得到想要的结果:

df_update = df1.merge(df2, how='outer', indicator=True).query("_merge == 'right_only'")
python
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-04-09 15:01:04 +0000 UTC

pandas列中值的分布

  • 0

有一个数据框:

id      date     score
12    15.05.19     4
34    10.04.19     3
17    02.06.19     7
19    30.07.19     5
25    28.05.19     6

有一份负责人名单:

spisok = ['Ivanov', 'Petrov', 'Sidorov']

我想得到结果 - 在数据框中添加一个包含负责人的列:

id      date     score   in_charge
12    15.05.19     4      Ivanov
34    10.04.19     3      Petrov
17    02.06.19     7      Sidorov
19    30.07.19     5      Ivanov
25    28.05.19     6      Petrov

我写了一个函数,但我不能应用它:

def an_distr(df, spisok):


    count = len(df)
    while count >= 0:
        for el in spisok:
            return el
            count = count - 1

df['in_charge'] = an_distr(df, spisok)

给出错误信息

TypeError:“函数”对象不可迭代

python
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-04-08 23:04:28 +0000 UTC

值从列表到数据框列的随机分布

  • 1

同事们,下午好!

帮助解决将列表中的值替换为列的问题。有 2 个数据框(旧的和新的)和一个列表:

spisok = ['伊万诺夫','彼得罗夫','西多罗夫']

df_old:

id     score    revie_date   in_charge
111      4      08.10.2019     Petrov
123      2      04.03.2019     Sidorov
145      5      04.04.2019     Ivanov
135      6      20.05.2019     Petrov
222      5      25.06.2019     Sidorov

df_new

id     score    revie_date   in_charge
367      6      18.07.2019     
123      2      04.03.2019     
257      5      04.06.2019     
945      6      01.05.2019     
222      5      25.06.2019     

该任务,您需要从 spisok 随机分配一个执行程序,但以使任务或多或少平均分配的方式执行此操作(即数据帧中可以有超过 1000 行)。

与旧列表进行比较,如果有 id 匹配,则从旧列表中取出/替换艺术家。

所以结果会是这样的:

df_new:

id     score    revie_date   in_charge
367      6      18.07.2019     Ivanov
123      2      04.03.2019     Sidorov
257      5      04.06.2019     Petrov
945      6      01.05.2019     Ivanov
222      5      25.06.2019     Sidorov

我试图通过

df_new['in_charge'] = np.random.choice(spisok, size=len(df_new))

但是结果是绝对不一样的,分布不均,然后怎么和前面的df_old比较。

pandas
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-03-05 22:17:46 +0000 UTC

按条件合并具有不同列数的 2 个数据框

  • 1

这似乎是一个平庸的问题,但我无法解决将 2 个数据帧与不同列数结合起来的问题。

 Df1:
    Рег.номер  Возраст компании
    123            5
    456            3.5
    789            7
    987            4
    654            3

DF2:
Рег.номер   Возраст компании Год банкротства  
123               5               2017
654               3               2018

目标是将第二个 Df2 添加到第一个数据帧 DF1 并获得以下结果:

DF1:
Рег.номер  Возраст компании  Год банкротства  Статус банкрот 
    123            5              2017            1
    456            3.5                            0
    789            7                              0
    987            4                              0
    654            3              2018            1

这个解决方案对我来说似乎很平庸,但我完全是胡说八道。

python
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-02-21 14:40:38 +0000 UTC

统计特定时间段内的交易

  • 1

同事们,根据给定的条件帮助形成一个 DataFrame。

有一个初始的DataFrame:

ID   №Policy   Request     Request date     Decision
123   23ff      10000     2018-01-28 11:36    0
123   23ff      10000     2018-01-29 10:00    5000
123   42rd      25000     2018-06-18 15:10    25000
123   42rd      30000     2018-08-18 18:00    30000
345   23ff      15000     2018-01-28 12:00    10000 
345   27fg      50000     2018-09-30 17:35     0
345   81er      30000     2018-09-30 10:15    10000
345   81er      30000     2018-10-20 11:30    10000
678   12rt      55000     2018-12-01 09:25    0
678   12rt      55000     2018-12-15 12:00    45000

需要在保单号的框架内计算每个 ID 的决定数(Decisions),但是,如果在一个月内多次对同一保单号内的 ID 做出决定,则有以下限制, 那么这样的决定等于 1(即一个月内,一个保单号内的一个 ID 可能有多个决定 2、3 或更多 - 如果一切都在一个月内完成,那么无论请求的数量如何,它应该认为这是 1 个决定)。

结果应该是这样的

ID   №Policy   Request     Request date     Decision       count
    123   23ff      10000     2018-01-28 11:36    0          0   
    123   23ff      10000     2018-01-29 10:00    5000       1
    123   42rd      25000     2018-06-18 15:10    25000      1
    123   42rd      30000     2018-08-18 18:00    30000      1
    345   23ff      15000     2018-01-28 12:00    10000      1
    345   27fg      50000     2018-09-30 17:35     0         1
    345   81er      30000     2018-09-30 10:15    10000      0
    345   81er      30000     2018-10-20 11:30    10000      1
    678   12rt      55000     2018-12-01 09:25    0          0
    678   12rt      55000     2018-12-15 12:00    45000      1

我不知道在这里写什么算法:(

python
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-02-14 14:46:47 +0000 UTC

训练模型时loss和acc的值相同

  • 2

同事,不要告诉我可能是什么问题:

我正在尝试训练一个模型来预测公司的违约情况。有一个包含 100,000 家公司和 37 个特征的数据集。

将数据集拆分为训练和测试

from sklearn.model_selection import train_test_split
train, test = train_test_split(df_findataset, test_size=0.2)
X_train = train.iloc[:,0:36]
Y_train = train.iloc[:,-1] # (0 - нет дефолта, 1- дефолтная компания)

x_test = test.iloc[:,0:36]
y_test = test.iloc[:,-1]

创建了一个模型:

x_train = tf.keras.utils.normalize(x_train, axis=1)
x_test = tf.keras.utils.normalize(x_test, axis=1)

model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(50, input_dim=36, activation='relu'))
model.add(tf.keras.layers.Dense(2, activation='relu'))
model.add(tf.keras.layers.Dense(1, activation='sigmoid'))

model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

model.fit(x_train, y_train, epochs=10, batch_size=10)

训练时,发出以下内容 - 一切都一样:(

Epoch 1/10
108960/108960 [==============================] - 14s 125us/step - loss: 0.1534 - acc: 0.9645
Epoch 2/10
108960/108960 [==============================] - 13s 123us/step - loss: 0.1534 - acc: 0.9645
Epoch 3/10
108960/108960 [==============================] - 14s 125us/step - loss: 0.1534 - acc: 0.9645
Epoch 4/10
108960/108960 [==============================] - 14s 131us/step - loss: 0.1534 - acc: 0.9645
Epoch 5/10
108960/108960 [==============================] - 15s 139us/step - loss: 0.1534 - acc: 0.9645
Epoch 6/10
108960/108960 [==============================] - 15s 136us/step - loss: 0.1534 - acc: 0.9645
Epoch 7/10
108960/108960 [==============================] - 15s 139us/step - loss: 0.1534 - acc: 0.9645
Epoch 8/10
108960/108960 [==============================] - 16s 143us/step - loss: 0.1534 - acc: 0.9645
Epoch 9/10
108960/108960 [==============================] - 14s 129us/step - loss: 0.1534 - acc: 0.9645
Epoch 10/10
108960/108960 [==============================] - 15s 140us/step - loss: 0.1534 - acc: 0.9645
Out[152]:
<tensorflow.python.keras.callbacks.History at 0x7fed4cb9feb8>

告诉我它可能与什么相关联:(((数据似乎已被尽可能多地清理(尽我所能:())

pandas
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-02-13 20:18:03 +0000 UTC

熊猫中多个数据框的单一功能

  • 1

同事,帮助为多个数据帧编写一个函数。

例如,有 3 个相同的数据框,但年份不同

df2014:

id   'оборотные активы' 'активы'  'капитал  'крат.об-ва' 
123     19764         2746539     472        2854 
497     49287         2980756     5283       9782

df2015:

id   'оборотные активы' 'активы'  'капитал  'кратк.об-ва' 
12     36728            2567834     192837        39280 
97    2908             9427689     3209849       198

需要计算系数。指标并添加到新列中的每个数据框。我想编写一个 def ratios (df) 类型的函数,通过 apply 可以替换相应的数据帧。

结果应该是这样的:

df2014:

id   'оборотные активы' 'активы'  'капитал  'крат.об-ва'  'wc'  'cl'    'er'
123     19764         2746539     472        2854         16910  6.925   0.00017
497     49287         2980756     5283       9782         39505  5.03   0.0017

我尝试编写以下函数,但似乎使用不正确:

def ratios(df):
   df['wc'] = df['оборотные активы'] - df['крат.об-ва']
   df['cl'] = df['оборотные активы'] / df['крат.об-ва']
   df['er'] = df['капитла'] / df['активы']
   return df
df2014 = df2014.apply(ratios)

但唉,除了错误什么都没有出现

python
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-01-31 17:40:27 +0000 UTC

在熊猫中按给定条件拆分列

  • 1

同事们,下午好!在根据特定条件拆分列时,我正在尝试做正确的事情。它似乎已经完成了,但是有许多“错误”并且代码本身看起来并不讨人喜欢。请帮助修复/纠正

给定以下数据框:

在此处输入图像描述

您需要执行以下操作:提取发票编号(例如,18-0-115593)、操作类型(销售或收据或调整或折扣)和操作日期。

目标是获得大约以下最终数据帧:

在此处输入图像描述

我有点做到了,但我得到的不是折扣(GK),而且代码很可能很麻烦

           # читаем файл и создаем DF
            df_62 = pd.read_excel(open('Карточка счета.xls', 'rb'))

            df_62.columns = ['Date', 'Name of invoice', 'Debet',  'Credit', 'Saldo' ]
        # вытаскиваем из столбца Name of invoice номер инвойса и дату
        df_62['invoice_main'] = df_62['Name of invoice'].str.extract(r'(\d+[ \-]\d+[ \-]\d+)')

         df_62['invoice_date'] = df_62['Name of invoice'].str.extract(r'(\d{2}[ \.]\d{2}[ \.]\d{4})')

   # вытаскиваем тип операции(Реализация или корректировка или скидки или...)
    def get_str_split(string):
        new_list = string.split(' ')
        for word in new_list:
            if word == "скидки":
                return new_list[1:3]
            else:
                return new_list[0]
    df_62['Name of invoice'] = df_62['Name of invoice'].astype(str)

    df_62['type_prov'] = df_62['Name of invoice'].apply(get_str_split)

     # у меня вместо типа операции "скидки" вытащился (ГК)

我将非常感激如何更简单地使用 pandorable :)

регулярные-выражения
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-01-29 20:18:41 +0000 UTC

在 K-means 中设置初始质心时出错

  • 1

同事,帮我修复代码中的错误。

我无法为进一步的 K 均值聚类设置随机质心。

    # Number of clusters
k = 3
# X coordinates of random centroids
C_x = np.random.randint(0, np.max(X)-20, size=k)
# Y coordinates of random centroids
C_y = np.random.randint(0, np.max(X)-20, size=k)
C = np.array(list(zip(C_x, C_y)), dtype=np.float32)
print(C)

发生错误

ValueError:高超出 int32 的范围

如果您帮助 ML 新手,我将不胜感激

python
  • 1 个回答
  • 10 Views
Martin Hope
Pavel
Asked: 2020-01-22 19:02:56 +0000 UTC

通过给定的熊猫参数选择列

  • 1

我有以下数据框:

在此处输入图像描述

它需要转换为以下形式:

Регистрационный номер   Год    Наименование           Значение
   1140280002235        2013  Нематериальные активы     0
   1140280002235        2013  Основные средства         0
   1140280002235        2014  Нематериальные активы     0
   1140280002235        2014  Основные средства         0
   1140280002235        2015  Нематериальные активы     0
   1140280002235        2015  Основные средства         825 000
   ..........................................................
   1147746032752        2015  Основные средства        2 314 000

原则上,您可以将注册号和年份设置为索引(set_index)。我不明白如何转换原始数据帧的逻辑,以便可以轻松地按年份和注册号过滤。

    import pandas as pd
    import numpy as np
    import re
    df_findata = pd.read_csv(open('spark_fin_data.csv', 'r', encoding='KOI8-R'), sep = ',', decimal=',')
    df_findata.head()

在此处输入图像描述

PS数据临时链接

python
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5