我是Json文件的新手.如果我有一个带有多个json对象的json文件,如下所示:
{"ID":"12345","Timestamp":"20140101", "Usefulness":"Yes",
"Code":[{"event1":"A","result":"1"},…]}
{"ID":"1A35B","Timestamp":"20140102", "Usefulness":"No",
"Code":[{"event1":"B","result":"1"},…]}
{"ID":"AA356","Timestamp":"20140103", "Usefulness":"No",
"Code":[{"event1":"B","result":"0"},…]}
…
Run Code Online (Sandbox Code Playgroud)
我想将所有"时间戳"和"有用性"提取到数据框中:
Timestamp Usefulness
0 20140101 Yes
1 20140102 No
2 20140103 No
…
Run Code Online (Sandbox Code Playgroud)
有谁知道处理这些问题的一般方法?谢谢!
我基本上面对这里发布的相同问题:在datetime,Timestamp和datetime64之间转换
但我找不到令人满意的答案,我的问题是如何从numpy.datetime64类型中提取日期时间:
如果我尝试:
np.datetime64('2012-06-18T02:00:05.453000000-0400').astype(datetime.datetime)
Run Code Online (Sandbox Code Playgroud)
它给了我:1339999205453000000L
我当前的解决方案是将datetime64转换为字符串,然后再次转到datetime.但这似乎是一个非常愚蠢的方法.
我很难在数据帧中或者在groupby中解决回顾或翻转问题.
以下是我拥有的数据帧的简单示例:
fruit amount
20140101 apple 3
20140102 apple 5
20140102 orange 10
20140104 banana 2
20140104 apple 10
20140104 orange 4
20140105 orange 6
20140105 grape 1
…
20141231 apple 3
20141231 grape 2
Run Code Online (Sandbox Code Playgroud)
我需要计算每天前3天每种水果'量'的平均值,并创建以下数据框:
fruit average_in_last 3 days
20140104 apple 4
20140104 orange 10
...
Run Code Online (Sandbox Code Playgroud)
例如在20140104,前3天是20140101,20140102和20140103(注意数据框中的日期不连续且20140103不存在),苹果的平均数量是(3 + 5)/ 2 = 4和橙色是10/1 = 10,其余为0.
样本数据框非常简单,但实际数据框更复杂,更大.希望有人能对此有所了解,谢谢你提前!
我的理解是 EST、US/Eastern 和 America/New_York 应该是一样的,但显然我错了。
当我执行以下操作时:
pd.Timestamp('2011-07-03T07:00:00-04:00').tz_convert('US/Eastern')
Run Code Online (Sandbox Code Playgroud)
这给了:
Timestamp('2011-07-03 07:00:00-0400', tz='US/Eastern')
Run Code Online (Sandbox Code Playgroud)
当我做:
pd.Timestamp('2011-07-03T07:00:00-04:00').tz_convert('EST')
Run Code Online (Sandbox Code Playgroud)
它给:
Timestamp('2011-07-03 06:00:00-0500', tz='EST')
Run Code Online (Sandbox Code Playgroud)
当我做:
pd.Timestamp('2011-07-03T07:00:00-40:00').tz_convert('America/New_York')
Run Code Online (Sandbox Code Playgroud)
它给:
Timestamp('2011-07-04 19:00:00-0400', tz='America/New_York')
Run Code Online (Sandbox Code Playgroud)
谁能给我一些关于这个的见解?我需要转换我的时间戳,以便它与纽约证券交易所的时间相当。现在我不知道要使用哪个时区。感谢您的帮助。
我的代码中有一个错字(谢谢,BrenBarn),所以时区:America/New_York 和 US/Eastern 实际上是一样的。
假设我有一个数据集:
X y
20 0
22 0
24 1
27 0
30 1
40 1
20 0
...
Run Code Online (Sandbox Code Playgroud)
我尝试通过最小化熵将 X 离散化为几个容器。所以我做了以下事情:
clf = tree.DecisionTreeClassifier(criterion = 'entropy',max_depth = 4)
clf.fit(X.values.reshape(-1,1),y.values)
threshold = clf.tree_.threshold[clf.tree_.threshold>-2]
threshold = np.sort(threshold)
Run Code Online (Sandbox Code Playgroud)
“阈值”应该给出分割点,这是数据分箱的正确方法吗?
有什么建议么?
我有一个数据帧df:
fruit date volume
0 apple 20141001 2000
1 apple 20141101 1800
2 apple 20141201 2200
3 orange 20141001 1900
4 orange 20141101 2000
5 orange 20141201 3000
….
Run Code Online (Sandbox Code Playgroud)
我有两个数据帧
苹果:
date price
0 20141001 2
1 20141101 2.5
2 20141201 3
Run Code Online (Sandbox Code Playgroud)
橙子:
date price
0 20141001 1.5
1 20141101 2
2 20141201 2
Run Code Online (Sandbox Code Playgroud)
如何将所有这些合并到以下数据框中:
fruit date price volume
0 apple 20141001 2 2000
1 apple 20141101 2.5 1800
2 apple 20141201 3 2200
3 orange 20141001 1.5 1900
4 …Run Code Online (Sandbox Code Playgroud) 如果我有以下数据帧:
date A B M S
20150101 8 7 7.5 0
20150101 10 9 9.5 -1
20150102 9 8 8.5 1
20150103 11 11 11 0
20150104 11 10 10.5 0
20150105 12 10 11 -1
...
Run Code Online (Sandbox Code Playgroud)
如果我想通过以下规则创建另一个列'cost':
目前,我使用以下功能:
def cost(df):
if df[3]<0:
return np.roll((df[2]-df[1]),1)*df[3]
elif df[3]>0:
return np.roll((df[2]-df[0]),1)*df[3]
else:
return 0
df['cost']=df.apply(cost,axis=0)
Run Code Online (Sandbox Code Playgroud)
还有其他办法吗?我可以在用户定义的函数中以某种方式使用pandas shift函数吗?谢谢.
考虑以下数据框:
index count signal
1 1 1
2 1 NAN
3 1 NAN
4 1 -1
5 1 NAN
6 2 NAN
7 2 -1
8 2 NAN
9 3 NAN
10 3 NAN
11 3 NAN
12 4 1
13 4 NAN
14 4 NAN
Run Code Online (Sandbox Code Playgroud)
我需要在“信号”中“填充”NAN,并且具有不同“计数”值的值不应相互影响。这样我应该得到以下数据框:
index count signal
1 1 1
2 1 1
3 1 1
4 1 -1
5 1 -1
6 2 NAN
7 2 -1
8 2 -1
9 3 NAN
10 3 NAN …Run Code Online (Sandbox Code Playgroud) 非常新的火花...
假设我们有一个JSON格式的字符串,例如:
String entry1 = "{\"user_id\":1111,\"account_num\":12345}";
Run Code Online (Sandbox Code Playgroud)
如何将其读入Spark数据集?我了解数据集可以轻松地从路径读取json格式的数据,如下所示:
SparkSession sparksession = SparkSession.builder()...
Dataset<Row> dataset = sparksession.read().json('path')
Run Code Online (Sandbox Code Playgroud)
但是如何直接将上面的String转换为数据集?谢谢。
TfidfVectorizer提供了一种简单的方法来编码和将文本转换为矢量.
我的问题是如何选择适当的参数值,如min_df,max_features,smooth_idf,sublinear_tf?
更新:
也许我应该在这个问题上提出更多细节:
如果我使用大量文本进行无监督聚类,该怎么办?我没有任何文本标签,我不知道可能有多少集群(这实际上是我想弄清楚的)
给出以下数据框:
index value
1 0.8
2 0.9
3 1.0
4 0.9
5 nan
6 nan
7 nan
8 0.4
9 0.9
10 nan
11 0.8
12 2.0
13 1.4
14 1.9
15 nan
16 nan
17 nan
18 8.4
19 9.9
20 10.0
…
Run Code Online (Sandbox Code Playgroud)
其中数据'值'按值NAN分成多个簇.有什么方法可以计算一些值,如累积求和,或集群数据的平均值,例如,我想计算累计和,并生成以下数据框:
index value cumsum
1 0.8 0.8
2 0.9 1.7
3 1.0 2.7
4 0.9 3.6
5 nan 0
6 nan 0
7 nan 0
8 0.4 0.4
9 0.9 1.3
10 nan 0
11 0.8 …Run Code Online (Sandbox Code Playgroud) 假设我有以下课程:
class Point{
private:
int x,y;
public:
int get_x() const {return x;}
int get_y() const {return y;}
Point() :x(0),y(0){}
Point(int x,int y):x(x),y(y){}
Point(const Point& P){
x = P.get_x();
y = P.get_y();
}
Point& operator= (const Point& P) {
x = P.get_x();
y = P.get_y();
return *this;
}
friend ostream& operator<<(ostream& os,const Point& P) {
os<<"["<<P.get_x()<<", "<<P.get_y()<<"]";
return os;
}
Point operator - (const Point &P){
return Point(x-P.get_x(),y-P.get_y());
}
friend bool operator > (const Point &A, const Point &B) {
return …Run Code Online (Sandbox Code Playgroud)