如果我有一个包含多个列['x','y','z'的数据帧df,我如何只转发填充一列'x'或一组列['x','y']?
我只知道如何通过轴来做到这一点.
如果我有一个带有列x的数据帧df,并希望在伪代码中使用此值基于x的值创建列y
if df['x'] <-2 then df['y'] = 1
else if df['x'] > 2 then df['y']= -1
else df['y'] = 0
Run Code Online (Sandbox Code Playgroud)
我将如何实现这一目标.我认为np.where是最好的方法,但不知道如何正确编码.
在我的代码中我有这个:
Run Code Online (Sandbox Code Playgroud)HOST = "*"; PORT = 9000;
baseAddress = "http://" + HOST + ":" + PORT + "/";
// Start OWIN host. Should be called in TT extension code
WebApp.Start<Startup>(url: baseAddress);
Run Code Online (Sandbox Code Playgroud)
这导致:
mscorlib.dll中发生类型为"System.Reflection.TargetInvocationException"的第一次机会异常mscorlib.dll中发生了未处理的类型"System.Reflection.TargetInvocationException"异常附加信息:调用目标引发了异常.
在线我通过键入CMD运行管理员找到了一个可能的解决方案:
netsh http add urlacl url=http://+:9000/ user=Everyone
但这还没有解决问题.有人可以帮忙吗?
如果行中的任何值等于零,如何删除行?
我通常会将df.dropna()用于NaN值,但不确定如何使用"0"值.
如果我有一个数据框,第一列是datetime64列.如何将此列拆分为2个新列,一个日期列和一个时间列.到目前为止,这是我的数据和代码:
DateTime,Actual,Consensus,Previous
20140110 13:30:00,74000,196000,241000
20131206 13:30:00,241000,180000,200000
20131108 13:30:00,200000,125000,163000
20131022 12:30:00,163000,180000,193000
20130906 12:30:00,193000,180000,104000
20130802 12:30:00,104000,184000,188000
20130705 12:30:00,188000,165000,176000
20130607 12:30:00,176000,170000,165000
20130503 12:30:00,165000,145000,138000
20130405 12:30:00,138000,200000,268000
...
import pandas as pd
nfp = pd.read_csv("NFP.csv", parse_dates=[0])
nfp
Run Code Online (Sandbox Code Playgroud)
得到:
Out[10]: <class 'pandas.core.frame.DataFrame'>
Int64Index: 83 entries, 0 to 82
Data columns (total 4 columns):
DateTime 82 non-null values
Actual 82 non-null values
Consensus 82 non-null values
Previous 82 non-null values
dtypes: datetime64[ns](1), float64(3)
Run Code Online (Sandbox Code Playgroud)
一切都很好,但不知道该怎么办.
有两点我特别不确定:
还有什么地方我可以查找这种信息吗?
很难找到类库的详细参考谢谢!
我有日期,时间,价值格式的数据.这是一个示例:
04/01/2010,07:10,17159
04/01/2010,07:20,4877
04/01/2010,07:30,6078
04/01/2010,07:40,3105
04/01/2010,07:50,4073
04/01/2010,08:00,6986
04/01/2010,08:10,7906
04/01/2010,08:20,7681
04/01/2010,08:30,5665
04/01/2010,08:40,6631
04/01/2010,08:50,4633
04/01/2010,09:00,6346
04/01/2010,09:10,6444
04/01/2010,09:20,6324
04/01/2010,09:30,11696
04/01/2010,09:40,7667
04/01/2010,09:50,6375
04/01/2010,10:00,5934
04/01/2010,10:10,12626
04/01/2010,10:20,11674
04/01/2010,10:30,4660
04/01/2010,10:40,3831
04/01/2010,10:50,7089
04/01/2010,11:00,4548
04/01/2010,11:10,2590
04/01/2010,11:20,3334
04/01/2010,11:30,5171
Run Code Online (Sandbox Code Playgroud)
我想将其转换为保持相同格式的时间序列值.即我也需要能够存储日期和时间组件.这是因为我想"延长"数据.
我试过了
z <- read.csv("fileName", header=TRUE,sep=",")
Run Code Online (Sandbox Code Playgroud)
但不知道该怎么做.任何人都可以告诉我如何正确加载到时间序列对象?或者还有另一种方法吗?
提前致谢
我一直在尝试:
这是使用填充随机值的pandas数据框的代码
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(20,5), columns=["A","B","C","D", "E"])
a = list(df.columns.values)
a.remove("A")
X = df[a]
y = df["A"]
X_train = X.iloc[0: floor(2 * len(X) /3)]
X_test = X.iloc[floor(2 * len(X) /3):]
y_train = y.iloc[0: floor(2 * len(y) /3)]
y_test = y.iloc[floor(2 * len(y) /3):]
# normalise
from sklearn import preprocessing
X_trainS = preprocessing.scale(X_train)
X_trainN = pd.DataFrame(X_trainS, columns=a)
X_testS = preprocessing.scale(X_test)
X_testN = pd.DataFrame(X_testS, columns=a)
y_trainS = preprocessing.scale(y_train)
y_trainN = …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 DEAP 来最大化函数。
我了解如何使用基本示例进行操作:
toolbox.register("attr_bool", random.randint, 0, 1)
toolbox.register("individual", tools.initRepeat, creator.Individual,
toolbox.attr_bool, 100)
Run Code Online (Sandbox Code Playgroud)
它创建了 100 个随机值或 0 或 1。然后你继续创建一个种群并变异......
例如,当您有两个参数时,如何构建总体:
parameter 1 integer with range [0,1]
parameter 2 float with range [0,2]
Run Code Online (Sandbox Code Playgroud)
然后创建一个结合两个随机采样参数的个体?或对于具有任意步长值的参数 2 样本,例如 0.25。
如果我有一个数据帧并且想要删除任何行,其中一列中的值不是整数,我该怎么做?
另一种方法是,如果值不在0-2的范围内,则删除行,但由于我不知道如何做其中任何一个,我希望有些可能.
这是我尝试过的但是它不能确定原因:
df = df[(df['entrytype'] != 0) | (df['entrytype'] !=1) | (df['entrytype'] != 2)].all(1)
Run Code Online (Sandbox Code Playgroud) 我有以下形式的数据:
'cat' 'value'
a 1
a,b 2
a,b,c 3
b,c 2
b 1
Run Code Online (Sandbox Code Playgroud)
我想使用数据透视表进行转换:
'a' 'b' 'c'
1
2 2
3 3 3
2 2
1
Run Code Online (Sandbox Code Playgroud)
我如何执行此操作。如果我使用 pivot 命令:
df.pivot(columns= 'cat', values = 'value')
Run Code Online (Sandbox Code Playgroud)
这产生了这个结果
'a' 'a,b' 'a,b,c' 'b,c' 'b'
1
2
3
2
1
Run Code Online (Sandbox Code Playgroud)