我试图将字符串转换为R中的double.但是,每次转换数字时,R都会创建一个整数.
例如:
a = "100.11"
a = as.double(a)
Run Code Online (Sandbox Code Playgroud)
输出读取100.从字符串转换为数字时如何保留小数?我已经定了options(digits=3).
谢谢
麦克风
我想将某个(自定义)函数应用于数组的所有组合.我认为最好用一个例子来解释:
矩阵1:
A B C
1 2 3
Run Code Online (Sandbox Code Playgroud)
矩阵2:
A B C
4 5 6
Run Code Online (Sandbox Code Playgroud)
我想执行以下操作:获取Matrix 2的所有组合并对每个组合应用一个函数,如下所示:
矩阵3:
AB AC BC CB CA BA
4/2 4/3 5/3 6/2 6/1 5/1
Run Code Online (Sandbox Code Playgroud)
应用于Matrix 3的函数是Matrix 2的相应元素(由Matrix 3的每列中的第一个字母表示)/ Matrix 2的相应元素(由Matrix 3中每列的第二个字母表示).
如果有什么不清楚的地方请告诉我,我觉得我可能没有完美解释.
任何帮助将不胜感激!
谢谢
麦克风
我正在尝试将"ddply"功能与"summary"功能结合使用,但我遇到了困难.
以下是我的代码摘录:
orderSubsConsolidate = ddply(merged, .(RIC,leg),summarize,fill.Quant = sum(fill.Quant),
fill.Price = function(merged){sum(merged[,7]*merged[,8])/sum(merged[,7})
Run Code Online (Sandbox Code Playgroud)
"合并"是包含我想要总结的信息的矩阵.我按"RIC"和"leg"栏目进行总结.我遇到的问题是将函数应用于fill.Price列.
这是"合并"矩阵的摘录:
Run Code Online (Sandbox Code Playgroud)Trade RIC leg Basket.Name Status Order.Msg fill.Quant fill.Price ATNATNP ATNJ.J 1 ATNATNP1a1 Filled 100 200 ATNATNP ATNPp.J 2 ATNATNP2a1 Filled 100 200 ATNATNP ATNJ.J 1 ATNATNP1b1 300 400
基本上,上面的代码试图通过RIC和leg聚合fill.Quant列,然后使用[(fill.Price*fill.Quant)/fill.Quant]填充相应的fill.Price列,从而产生如下矩阵:
Run Code Online (Sandbox Code Playgroud)RIC leg fill.Quant fill.Price ATNJ.J 1 400 350 ATNPp.J 2 100 350
任何帮助将不胜感激.如果有什么不清楚,请告诉我.
谢谢!
麦克风
我有一个包含多个数字的数组,我事先不知道这些数字是什么.我想将数组中与前一个数字不连续的数字分开(除了序列中的第一个数字).
例如:数组: 2 3 4 5 10 11 12 15 18 19 20 23 24
我想回来 2 10 15 18 23
原始数组可以是可变长度的,包括长度为零
谢谢
我有一个函数,用于pd.read_sql直接从 Python 进行两个 SQL 查询,如下所示:
def get_sql_queries():
source_data_query = """
SELECT
cf."fund" as 'Fund'
, cf."Symbol"
FROM
sql_table
"""
transactions = pd.read_sql(
sql=source_data_query,
con=DEFAULT_CONNECTION,
)
other_source_data_query = """
SELECT
cf."fund" as 'Fund'
, cf."Symbol"
FROM
other_sql_table
"""
marks = pd.read_sql(
sql=other_source_data_query,
con=DEFAULT_CONNECTION,
)
returns transactions,marks
Run Code Online (Sandbox Code Playgroud)
当我从数据库调用时,这工作得很好。
我现在想模拟这些数据库调用以进行测试,这样在source_data_query运行时,它不会调用数据库,而是读入测试数据帧。同样对于other_source_data_query.
更新:根据亚伦的建议进行编辑如下:
import unittest
from unittest import mock
import pandas as pd
from functions import get_transaction_data
class GetSQLQueriesTest(unittest.TestCase):
@mock.patch('pd.read_sql')
def test_get_sql_queries(self, mock_read_sql):
transaction_data = pd.DataFrame(columns=['Fund', 'Symbol'], data=[['Fund 1', …Run Code Online (Sandbox Code Playgroud) 我是新手使用数据表,想要一些帮助聚合一些数据.
Login OpenTime CloseTime OpenedValueUSD ClosedValueUSD Year Month TransferredValue Identifier
859 04/02/2014 07:55 05/02/2014 15:37 10000 10000 2014 2 0 1
859 07/02/2014 03:16 07/02/2014 03:51 8960.755 8960.755 2014 2 0 2
859 11/02/2014 12:41 13/02/2014 11:56 13635.178 13606.901 2014 2 0 3
859 11/02/2014 13:34 11/02/2014 15:34 13635.178 13635.178 2014 2 13635.178 4
859 12/02/2014 13:46 14/02/2014 09:59 13660.246 13649.278 2014 2 13635.178 5
859 13/02/2014 15:33 13/02/2014 15:42 13606.901 13606.901 2014 2 13660.246 6
859 25/03/2014 14:52 26/03/2014 …Run Code Online (Sandbox Code Playgroud) 我有一个表单,允许用户输入他们的数据.然后,它会根据数据库检查这些数据,以查看用户是否存在.如果是这样,它会将它们记录到某个页面中.
然后,我想允许他们注销(这样他们就无法访问该特定页面).为此,我创建了一个"logout.php"文档,在其中我尝试清除登录详细信息.
但是,完成此操作后,如果我尝试加载登录页面,它会将我带回登录页面.
这是我的代码(login.php - 创建表单并记录用户):
<?php //Start the Session
session_start();
require('connect.php');
if (isset($_POST['username']) and isset($_POST['password']))
{
//3.1.1 Assigning posted values to variables.
$username = $_POST['username'];
$password = $_POST['password'];
//3.1.2 Checking if the values exist in the database
$checkLogin = $connection->query("SELECT * FROM users
where (username='$username' && password='$password')");
$numRows = $checkLogin->fetchColumn();
//3.1.2 If the posted values are equal to the database values, then session will be created for the user.
if ($numRows >= 1){
$_SESSION['username'] = $username;
}else{
//3.1.3 If …Run Code Online (Sandbox Code Playgroud) 我希望根据另一个条目的值更改矩阵中某个条目的值.最简单的解释一个例子:
Matrix
ABC-DEF 1 0 0 0
HIJ-KLM 0 0 0 0
NOP-QRS 1 0 0 0
KLM-HIJ 0 0 0 0
DEF-ABC 0 0 0 0
QRS-NOP 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
如您所见,上面矩阵中的每一行都有一个对应物(例如ABC-DEF的对应物是DEF-ABC).
有什么方法可以让我看看哪一行在第一列中有一个,然后在其对应的第四列中放置一个?在上面的例子中:
ABC-DEF 1 0 0 0
HIJ-KLM 0 0 0 0
NOP-QRS 1 0 0 0
KLM-HIJ 0 0 0 0
DEF-ABC 0 0 0 2
QRS-NOP 0 0 0 2
Run Code Online (Sandbox Code Playgroud)
我很困难,真的很感激任何帮助!谢谢!
我已经看到了一些关于此的主题并制定了一个半答案,但我需要的与我所看到的略有不同。我正在寻找满足某些条件的行下面的行。这显然本身就是一个条件,但我不知道如何在 R 中表达它。到目前为止我拥有的代码是:
index = decisionMatrix[,1] == 1 & decisionMatrix[,9] == 1
decisionMatrix[index,7] = .01
Run Code Online (Sandbox Code Playgroud)
它将值 0.01 分配给满足该条件的行的第 7 列。我还想使所选行下方的行的第 7 列 = 0.1。
任何帮助将不胜感激!
感谢
迈克
我试图仅将函数应用于满足我的条件的某些行。我从其他线程中看到我应该使用“apply”函数,但我似乎无法让它工作。
这是我到目前为止所拥有的:
a = which(decisionMatrix[,1]>0 & decisionMatrix[,4] < decisionMatrix[,5] &
tail(ratios,1)>decisionMatrix[4])
Run Code Online (Sandbox Code Playgroud)
这给了我满足我的条件的行数。
然后我使用:
apply(decisionMatrix[10],a,decisionMatrix[,1]/decisionMatrix[,5])
Run Code Online (Sandbox Code Playgroud)
我在这里想做的是“对于满足上述条件的每一行,取该行中的第一列,并将其除以该行中的第五列,并将结果存储在该行的第 10 列中”
有人能给我一些建议吗?