我有一个数据框,其中包含Investment一个代表交易者投资金额的列.我想在数据框中创建2个新列; 一个给出十分位数,另一个给出基于Investment大小的五分位数.我希望1代表具有最大投资的十分位数,10代表最小投资.Smilarly,我希望1代表最大投资的五分之一,5代表最小投资.
我是Pandas的新手,有没有办法让我轻松做到这一点?谢谢!
我是Stata的新手,我想知道如何将包含日期的字符串变量更改为日期格式.
变量中的数据如下所示:
YYYY-MM-DD
我应该首先删除破折号,以便Stata可以识别格式以便以后使用gen var = date()吗?
谢谢您的帮助.
我有一个交易者交易的数据集,其中感兴趣的变量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.
我怎么能在熊猫中做到这一点?
我有一个大型数据集,具有以下结构
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函数执行此操作而不分组数据?我希望子集包含个别观察.
我有一个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.
这是我第一次尝试并行处理,所以请耐心等待,非常感谢您的帮助。
我有一个 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) 我的数据框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天.
在熊猫中有一个简单的方法吗?
我有两个具有不同变量名称的数据框
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.C和df.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 函数可以让我做到这一点?
我将数据集导入R中,其中一个变量是日期,但它显示为13位数字1269576000000.如何将此数字更改为日期?我不确定格式应该是什么样的,但我猜这个数字还包含有关时间(小时,分钟,秒)的信息.是否有任何代码可以直接更改R中此变量的格式?
谢谢.