我有一个CSV文件,"value.txt"其中包含以下内容:该文件的前几行是:
Date,"price","factor_1","factor_2"
2012-06-11,1600.20,1.255,1.548
2012-06-12,1610.02,1.258,1.554
2012-06-13,1618.07,1.249,1.552
2012-06-14,1624.40,1.253,1.556
2012-06-15,1626.15,1.258,1.552
2012-06-16,1626.15,1.263,1.558
2012-06-17,1626.15,1.264,1.572
Run Code Online (Sandbox Code Playgroud)
在R中我们可以使用中读取此文件
price <- read.csv("value.txt")
Run Code Online (Sandbox Code Playgroud)
这将返回一个data.frame,我可以用它来进行统计操作:
> price <- read.csv("value.txt")
> price
Date price factor_1 factor_2
1 2012-06-11 1600.20 1.255 1.548
2 2012-06-12 1610.02 1.258 1.554
3 2012-06-13 1618.07 1.249 1.552
4 2012-06-14 1624.40 1.253 1.556
5 2012-06-15 1626.15 1.258 1.552
6 2012-06-16 1626.15 1.263 1.558
7 2012-06-17 1626.15 1.264 1.572
Run Code Online (Sandbox Code Playgroud)
是否有Pythonic方法来获得相同的功能?
我创建了一个类,其名称为Student,如下所示:
class Student
{
private:
unsigned int id; // the id of the student
public:
unsigned int get_id(){return id;};
void set_id(unsigned int value) {id = value;};
Student(unsigned int init_val) {id = init_val;}; // constructor
~Student() {}; // destructor
};
Run Code Online (Sandbox Code Playgroud)
然后我想要一个容器(比如一个矢量),它的元素是类Student的实例,但我发现自己无法理解这种情况,这是我的问题:
首先我运行此代码:
#include<iostream>
#include<vector>
using namespace std;
const unsigned int N = 5;
Student ver_list[2] = {7, 9};
int main()
{
cout<< "Hello, This is a code to learn classes"<< endl;
cout<< ver_list[1].get_id() << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
一切都很好,输出是:
Hello, This …Run Code Online (Sandbox Code Playgroud) 我有一个清单,让我们说:
test = [False, False, 2, False, False, False, 3, False, False]
Run Code Online (Sandbox Code Playgroud)
并且我想将此列表的每个成员分配给False,除非此成员等于2,因此结果应为:
test = [False, False, 2, False, False, False, False, False, False]
Run Code Online (Sandbox Code Playgroud)
我试过了 :
test = [False for i in test if i !=2]
Run Code Online (Sandbox Code Playgroud)
但结果是:
[False, False, False, False, False, False, False, False]
Run Code Online (Sandbox Code Playgroud)
我尝试定义一个函数:
def set_False(lst):
for i in lst:
if i != 2:
i = False
return lst
Run Code Online (Sandbox Code Playgroud)
当我申请时:
test = set_False(test)
Run Code Online (Sandbox Code Playgroud)
结果是:
[False, False, 2, False, False, False, 3, False, False]
Run Code Online (Sandbox Code Playgroud)
我不能在我放置代码的环境中使用枚举,所以有什么建议吗?
谢谢
我试图通过提供这些可能的列表的长度来获得包含所有可能性的二进制列表,现在我找到了一个解决方案但是在其他功能中使用它并不是很方便.
例如:我想要一个列表列表,每个列表代表一个四位数的二进制选项.
如果长度为4,则结果应如下.
[[0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0], [0, 0, 1, 1], [0, 1, 0, 0], [0, 1, 0, 1], [0, 1, 1, 0], [0, 1, 1, 1], [1, 0, 0, 0], [1, 0, 0, 1], [1, 0, 1, 0], [1, 0, 1, 1], [1, 1, 0, 0], [1, 1, 0, 1], [1, 1, 1, 0], [1, 1, 1, 1]]
Run Code Online (Sandbox Code Playgroud)
我所做的是通过以下代码:
>>> [[a, b, c, d] for a in [0,1] for b in …Run Code Online (Sandbox Code Playgroud)