繁体   English   中英

列的乘法不能按预期工作 pandas

[英]Multiplication of column doesn't work as expected pandas

我有下面的代码,我正在接近创建一个新列,它存储“日期”(6:7 是月份位置)与“拥有的总股票”的乘积。

 import matplotlib as plt 
    import pandas as pd 
    data = pd.read_csv("C:\\users\\Hp\\Documents\\Datascience task\\Stock.csv")
    data = data.rename(columns={'Stock': 'Total Stock Owned'})
    
    date = data['Date'].str[6:7]
    stock = data['Total Stock Owned']
    data['Incremenet of stock based on month'] = date * stock
    
    data

这是 output (我删除了一些列以摆脱混乱):

    Total Stock Owned   Date               Incremenet of stock based on month
0       5             1989-02-10 03:45:29                   22222
1       3             2003-06-17 06:46:02                   666
2       8             1982-01-23 12:32:18                   1111111
3       8             2016-04-06 07:29:44                   44444444
4       8             2010-05-29 09:43:25                   55555555
5       8             1982-08-20 11:33:26                   88888888
6       3             1994-04-16 16:21:16                   444
7       9             1985-02-21 13:29:34                   222222222
8       8             2005-04-10 03:13:01                   44444444
9       2             1998-03-23 22:31:06                   33

Output 我预计:

    Total Stock Owned   Date               Incremenet of stock based on month
0       5             1989-02-10 03:45:29                   10
1       3             2003-06-17 06:46:02                   18
2       8             1982-01-23 12:32:18                   8
3       8             2016-04-06 07:29:44                   32
4       8             2010-05-29 09:43:25                   40
5       8             1982-08-20 11:33:26                   64
6       3             1994-04-16 16:21:16                   12
7       9             1985-02-21 13:29:34                   18
8       8             2005-04-10 03:13:01                   32
9       2             1998-03-23 22:31:06                   6

如何修复“基于月份的库存增量”中的大数字?

您忘记转换为 int:

date = data['Date'].str[6:7].astype(int)

Output:

date = data['Date'].str[6:7].astype(int)
stock = data['Total Stock Owned']
data['Incremenet of stock based on month'] = date * stock
print(data)

   Total Stock Owned                 Date  Incremenet of stock based on month
0                  5  1989-02-10 03:45:29                                  10
1                  3  2003-06-17 06:46:02                                  18
2                  8  1982-01-23 12:32:18                                   8
3                  8  2016-04-06 07:29:44                                  32
4                  8  2010-05-29 09:43:25                                  40
5                  8  1982-08-20 11:33:26                                  64
6                  3  1994-04-16 16:21:16                                  12
7                  9  1985-02-21 13:29:34                                  18
8                  8  2005-04-10 03:13:01                                  32
9                  2  1998-03-23 22:31:06                                   6

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM