小编rol*_*and的帖子

如何使用Python,Pandas创建一个Decile和Quintile列来根据大小对另一个变量进行排名?

我有一个数据框,其中包含Investment一个代表交易者投资金额的列.我想在数据框中创建2个新列; 一个给出十分位数,另一个给出基于Investment大小的五分位数.我希望1代表具有最大投资的十分位数,10代表最小投资.Smilarly,我希望1代表最大投资的五分之一,5代表最小投资.

我是Pandas的新手,有没有办法让我轻松做到这一点?谢谢!

python ranking pandas

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

Stata:如何将字符串变量更改为日期?

我是Stata的新手,我想知道如何将包含日期的字符串变量更改为日期格式.

变量中的数据如下所示:

YYYY-MM-DD

我应该首先删除破折号,以便Stata可以识别格式以便以后使用gen var = date()吗?

谢谢您的帮助.

string format date stata

8
推荐指数
1
解决办法
4万
查看次数

应用自定义groupby聚合函数在pandas python中输出二进制结果

我有一个交易者交易的数据集,其中感兴趣的变量Buy/Sell是二进制的,并且当交易是买入时取值为1,如果是卖出则取0.一个例子如下:

Trader     Buy/Sell
  A           1
  A           0
  B           1
  B           1
  B           0
  C           1
  C           0
  C           0
Run Code Online (Sandbox Code Playgroud)

我想计算Buy/Sell每个交易者的净额,如果交易者有超过50%的交易作为买入,他将有Buy/Sell1,如果他有低于50%的买入,那么他将有Buy/Sell0和如果他确实有50%的NA(并且将来会被忽视).

因此对于交易员A,买入比例​​是(买入的数量)/(交易者的总数)= 1/2 = 0.5,这给出了NA.

对于交易者B,它是2/3 = 0.67,给出1

对于交易者C,它是1/3 = 0.33,给出0

该表应如下所示:

Trader     Buy/Sell
  A           NA
  B           1
  C           0 
Run Code Online (Sandbox Code Playgroud)

最终我想计算总的聚合购买数量,在这种情况下是1,以及聚合的交易总数(无视NA),在这种情况下为2.我对第二个表格不感兴趣,我只是感兴趣在总计购买数量和总计数量(计数)中Buy/Sell.

我怎么能在熊猫中做到这一点?

python group-by aggregate-functions pandas

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

如何根据组标准使用Pandas对数据框进行子集化?

我有一个大型数据集,具有以下结构

User     X
1        0
1        0
2        0
2        0
2        1
3        0
3        0
Run Code Online (Sandbox Code Playgroud)

我想获取数据的子集,使得每个用户的列X的总和为0.给定上述示例,子集应仅包括用户1和3的观察结果,如下所示

User     X
1        0
1        0
3        0
3        0
Run Code Online (Sandbox Code Playgroud)

有没有办法使用groupby函数执行此操作而不分组数据?我希望子集包含个别观察.

python pandas

5
推荐指数
2
解决办法
2972
查看次数

Python:如何在Python中运行嵌套并行进程?

我有一个df交易者交易数据集。我有 2 个级别的 for 循环,如下所示:

smartTrader =[]

for asset in range(len(Assets)):
    df = df[df['Assets'] == asset]
    # I have some more calculations here
    for trader in range(len(df['TraderID'])):
        # I have some calculations here, If trader is successful, I add his ID  
        # to the list as follows
        smartTrader.append(df['TraderID'][trader])

    # some more calculations here which are related to the first for loop.
Run Code Online (Sandbox Code Playgroud)

我想并行化 中每个资产的计算Assets,并且我还想并行化每个资产的每个交易者的计算。完成所有这些计算后,我想根据smartTrader.

这是我第一次尝试并行处理,所以请耐心等待,非常感谢您的帮助。

python parallel-processing python-multiprocessing

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

Pandas:将多索引 JSON 读取为 pandas 数据帧

我有一个 JSON 文件,如下所示:

{
    "ALPHA": [
        {
            "date": "2021-06-22",
            "constituents": {
                "BBB": 0,
                "EEE": 1,
                "BTB": 1,
                "YUY": 1
            }
        },
        {
            "date": "2021-09-07",
            "constituents": {
                "BBB": 0,
                "EEE": 0,
                "BTB": 0,
                "YUY": 0
            }
        }
    ],
    "BETA": [
        {
            "date": "2021-06-22",
            "constituents": {
                "BBB": 1,
                "EEE": 1,
                "BTB": 1,
                "YUY": 1
            }
        },
        {
            "date": "2021-09-07",
            "constituents": {
                "BBB": 1,
                "EEE": 1,
                "BTB": 1,
                "YUY": 1
            }
        }
    ],

    "THETA": [
        {
            "date": "2021-06-22",
            "constituents": {
                "BBB": 0,
                "EEE": …
Run Code Online (Sandbox Code Playgroud)

python json pandas

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

如何使用熊猫根据实际日期查找一年中的天数?

我的数据框data有一个日期变量dateOpen,格式如下date_format = "%Y-%m-%d %H:%M:%S.%f",我希望有一个新列openDay,它是基于一年365天的天数.我尝试应用以下内容

data['dateOpen'] = [datetime.strptime(dt, date_format) for dt in data['dateOpen']]
data['openDay'] = [dt.day for dt in data['dateOpen']]
Run Code Online (Sandbox Code Playgroud)

但是,我得到了这个月的一天.例如,如果日期是,2013-02-21 10:12:14.3则上述公式将返回21.但是,我希望它返回52,即从1月起的31天加上2月份的21天.

在熊猫中有一个简单的方法吗?

python datetime date pandas

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

Pandas 将两个数据帧相乘得到乘积

我有两个具有不同变量名称的数据框

df1 = pd.DataFrame({'A':[2,2,3],'B':[5,5,6]})
>>> df1
   A  B
0  2  5
1  2  5
2  3  6
df2 = pd.DataFrame({'C':[3,3,3],'D':[5,5,6]})
>>> df2
   C  D
0  3  5
1  3  5
2  3  6
Run Code Online (Sandbox Code Playgroud)

我想创建第三个数据帧,其中第 n 列是前两个数据帧中第 n 列的乘积。在上面的例子中,df3 将有两列 X 和 Y,其中df.X = df.A * df.Cdf.Y = df.B * df.D

df3 = pd.DataFrame({'X':[6,6,9],'Y':[25,25,36]})
>>> df3
   X   Y
0  6  25
1  6  25
2  9  36
Run Code Online (Sandbox Code Playgroud)

是否有一个简单的 Pandas 函数可以让我做到这一点?

python merge pandas

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

如何将13位数字的格式更改为R中的日期

我将数据集导入R中,其中一个变量是日期,但它显示为13位数字1269576000000.如何将此数字更改为日期?我不确定格式应该是什么样的,但我猜这个数字还包含有关时间(小时,分钟,秒)的信息.是否有任何代码可以直接更改R中此变量的格式?

谢谢.

format r date

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