这是我正在使用的代码:
import pandas as pd
test3 = pd.Series([1,2,3], index = ['a','b','c'])
test3 = test3.reindex(index = ['f','g','z'])
Run Code Online (Sandbox Code Playgroud)
所以最初每件事都很好,test3的索引为'a''b''c',值为1,2,3.但是当我重新测试test3时,我得到的是我的值1 2 3丢失了.这是为什么?期望的输出是:
f 1
g 2
z 3
Run Code Online (Sandbox Code Playgroud) 所以我正在尝试学习python,我认为这样做的一个好方法是采用我之前在MatLab中完成的问题集并将它们转换为Python.这是我正在使用的MatLab代码
% C14 halflife is 5726 years
% The time constant tau is t(1/2)/ln2 = 8260 y
N0=10000; %initialize N0
tau=8260; %Carbon 14
tmax=40000; %max time value, will be on the x-axis
% Generate data using exact values
t1=linspace(0,tmax,100);
N1=N0*exp(-t1/tau);%Here we introduce the equation for nuclear decay
figure
plot1 = plot(t1,N1);
% Generate data using Euler
Step=1000;
N=N0;
NumRes=N;
tx=0:Step:tmax;
% This is the taylor series generation of data.
for t=Step:Step:tmax
N=N-Step*N/tau;
NumRes=[NumRes,N];
end
% Plot the approximation …Run Code Online (Sandbox Code Playgroud) 这是我正在使用的代码:
x <- c("Yes","No","No","Yes","Maybe")
y <- t(1:10)
z <- t(11:20)
rbind.data.frame(ifelse(x == "Yes",y,z))
Run Code Online (Sandbox Code Playgroud)
这产生了
X1L X12L X13L X4L X15L
1 1 12 13 4 15
Run Code Online (Sandbox Code Playgroud)
期望的结果是:
x
1 Yes 1 2 3 4 5 6 7 8 9 10
2 No 11 12 13 14 15 16 17 18 19 20
3 No 11 12 13 14 15 16 17 18 19 20
4 Yes 1 2 3 4 5 6 7 8 9 10
5 Maybe 11 12 13 …Run Code Online (Sandbox Code Playgroud) 我试图根据两个条件在熊猫中创建一个条件运行总和。
import pandas as pd
ID = [1,1,1,2,2,3,4]
after = ['A','B','B','A','A','B','A']
before = ['A','B','B','A','A','B','A']
df = pd.DataFrame([ID, before,after]).T
df.columns = ['ID','before','after']
Run Code Online (Sandbox Code Playgroud)
数据如下:
ID before after
0 1 A A
1 1 B B
2 1 B B
3 2 A A
4 2 A A
5 3 B B
6 4 A A
Run Code Online (Sandbox Code Playgroud)
然后,我想查看一个ID之前具有B值的时间,我的尝试是:
df['time_on_b'] = (df.groupby('before')['ID'].cumcount()+1).where(df['before']=='B',0)
Run Code Online (Sandbox Code Playgroud)
这给了我:
ID before after time_on_b
0 1 A A 0
1 1 B B 1
2 1 B B 2
3 2 A …Run Code Online (Sandbox Code Playgroud) 我对R比较新,所以我觉得我的问题比较简单.如果你有一个矩阵,m.
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
Run Code Online (Sandbox Code Playgroud)
我想将行t的值添加到矩阵m.
[,1] [,2] [,3]
[1,] 2 3 4
Run Code Online (Sandbox Code Playgroud)
产生新的矩阵p ...
3 5 7
6 8 10
9 11 13
Run Code Online (Sandbox Code Playgroud)
我希望有一种通用的方法可以做到这一点,而不是像m [1,] + 2那样做.谢谢你的帮助和时间.
我目前使用的代码是...
x <- c("1/1/1990", "2/1/1990", "3/1/1990",
"4/1/1990", "5/1/1990", "6/1/1990",
"7/1/1990", "8/1/1990", "9/1/1990", "10/1/1990",
"11/1/1990")
y <- c("1/1/1990","9/1/1990","1/1/1990","2/1/1990")
test <- match(x,y)
position <- which(test > 0)
position
Run Code Online (Sandbox Code Playgroud)
当前位置的输出为:
[1] 1 2 9
Run Code Online (Sandbox Code Playgroud)
我想保留重复的行并让输出......
[1] 1 1 2 9
这可能吗?
感谢您的帮助。
这是我正在使用的代码.我想随机抽取数字,我想继续这样做,直到所有数字1:18都被绘制出来.我不想两次绘制相同的数字.
RandomArray <- sample(1:18, 6, replace=F)
RandomArray2 <- sample(1:18,6, replace = F)
RandomArray3 <- sample(1:18,6, replace = F)
RandomArray2 <- ifelse(RandomArray==RandomArray2,
sample(1:18,6,replace=F),RandomArray2)
RandomArray3 <- ifelse(RandomArray2==RandomArray3,
sample(1:18,6,replace=F),RandomArray3)
Run Code Online (Sandbox Code Playgroud)
理想的输出是
RandomArray [1 2 3 4 5 6] RandomArray2 [7 8 9 10 11 12] RandomArray3 [13 14 15 16 17 18]
Run Code Online (Sandbox Code Playgroud)
我也尝试过
x <- 1:18
test2 <- sapply(x, function(x)
if (x == RandomArray) x-RandomArray else x)
Run Code Online (Sandbox Code Playgroud)
但这也不对,因为我只是想摆脱我已经绘制过的数字.
谢谢您的帮助.
我试图写一个简单的二分法方法问题,只要我没有一个我已经注释掉的某个条件语句,它就能完美地运行.这是什么原因?这不是一个家庭作业问题.
low = 0
high = 100
ans = (low+high)/2
print "Please think of a number between 0 and 100!"
print "Is your secret number " + str(ans) + "?"
response = raw_input("Enter 'h' to indicate the guess is too high. Enter 'l' to indicate the guess is too low. Enter 'c' to indicate I guessed correctly. ")
response = str(response)
while response != "c":
if response == "h":
high = ans
ans = (low + high)/2
print "Is your …Run Code Online (Sandbox Code Playgroud) 这是我正在使用的代码:
A <- matrix(1:9, nrow = 3)
A
cbind(A,A,A)
Run Code Online (Sandbox Code Playgroud)
这给出了一个输出:
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
[1,] 1 4 7 1 4 7 1 4 7
[2,] 2 5 8 2 5 8 2 5 8
[3,] 3 6 9 3 6 9 3 6 9
Run Code Online (Sandbox Code Playgroud)
所需的输出是......
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
[1,] 1 1 1 4 4 4 7 7 7
[2,] 2 2 2 5 5 5 8 8 8
[3,] …Run Code Online (Sandbox Code Playgroud) 如何使用sapply函数清理此代码?
Orig <- .45
Adjusted <- matrix(1:130, nrow =13)
Original <- rbind(Orig,
Orig1 <- pmin(Orig*(1+Adjusted[1,]),100),
Orig2 <- pmin(Orig1*(1+Adjusted[2,]),100),
Orig3 <- pmin(Orig2*(1+Adjusted[3,]),100),
Orig4 <- pmin(Orig3*(1+Adjusted[4,]),100),
Orig5 <- pmin(Orig4*(1+Adjusted[5,]),100),
Orig6 <- pmin(Orig5*(1+Adjusted[6,]),100),
Orig7 <- pmin(Orig6*(1+Adjusted[7,]),100),
Orig8 <- pmin(Orig7*(1+Adjusted[8,]),100),
Orig9 <- pmin(Orig8*(1+Adjusted[9,]),100),
Orig10 <- pmin(Orig9*(1+Adjusted[10,]),100),
Orig11 <- pmin(Orig10*(1+Adjusted[11,]),100),
Orig12 <- pmin(Orig11*(1+Adjusted[12,]),100)
)
Run Code Online (Sandbox Code Playgroud)