比方说,我们给了一个字符串,比如"itiswhatitis"一个子字符串"is".我需要在原始字符串中找到第二次出现'i'字符串的索引"is".
String.indexOf("is")在这种情况下将返回2.在这种情况下,我希望输出为10.
Python pandas有一个pct_change函数,我用它来计算数据帧中股票价格的回报:
ndf['Return']= ndf['TypicalPrice'].pct_change()
Run Code Online (Sandbox Code Playgroud)
我使用以下代码获取对数返回,但它提供与pct.change()函数完全相同的值:
ndf['retlog']=np.log(ndf['TypicalPrice'].astype('float64')/ndf['TypicalPrice'].astype('float64').shift(1))
#np is for numpy
Run Code Online (Sandbox Code Playgroud) 我们给出了一个字符串,例如,取"TUOPPPPJHHTT"我们希望找出哪个字符连续出现在字符串中的次数和次数.在这种情况下,其P发生4次.
我尝试运行for循环如下
char[] array = S.toCharArray();
int count=1;
for(int i =1; i < S.length(); i++) {
if(array[i] == array[i-1]) {
count++;
}
}
Run Code Online (Sandbox Code Playgroud)
但在这种方法中,问题是它将计算所有字母表的重复出现次数.
在输入整数后输入字符串"s"时出现此错误.
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(Unknown Source)
at oneB.change(oneB.java:4)
at oneB.main(oneB.java:26)
Run Code Online (Sandbox Code Playgroud)
以下是代码:(请注意代码仍然完整,我已经输入了一些打印语句进行检查)
import java.util.Scanner;
public class oneB {
public static String change(int n, String s, String t) {
if (s.charAt(0) == 'R') {
return onetwo(s);
}
return s;
}
private static String onetwo(String one) {
int c = one.indexOf('C');
System.out.print(c);
char[] columnarray = new char[one.length() - c - 1];
for (int i = c + 1; i < one.length(); i++) {
columnarray[i] …Run Code Online (Sandbox Code Playgroud) 我得到一个字符串,我希望找到该字符串的子字符串的第一个字符的索引,只要它出现在父字符串中的第一次.
例如,给定一个字符串"itiswhatitis"和子字符串"is",输出应为2.
以下是我需要做的事情:
if ((a<100 and a>-100) and (b<100 and b>-100)):
#i.e., if both a and b lie in the interval (-100,100)
Run Code Online (Sandbox Code Playgroud)
想知道我是否可以用更短的方式写这个.
UPD:找到以下方式.什么比这短?(虽然只有2个变量,这不是很短)
if all((x > -100 and x < 100) for x in (a,b))
Run Code Online (Sandbox Code Playgroud) exdf = pd.DataFrame({'Employee name': ['Alex','Mike'],
'2014.1': [5, 2], '2014.2': [3, 4], '2014.3': [3, 6], '2014.4': [4, 3], '2015.1': [7, 5], '2015.2': [5, 4]})
exdf
Employee name 2014.1 2014.2 2014.3 2014.4 2015.1 2015.2
0 Alex 5 3 3 4 7 5
1 Mike 2 4 6 3 5 4
Run Code Online (Sandbox Code Playgroud)
假设上面的数据帧有几个这样的行和列,每个季度的每个员工都有输出。我想用列创建一个新的数据框:
newdf=pd.Dataframe(columns=['Employee name','Year','Quarter','Output'])
Run Code Online (Sandbox Code Playgroud)
因此,新数据帧将有 nxm 行,其中 n 和 m 是原始数据帧中的行和列。我尝试过的是使用嵌套 for 循环填充每一行和列条目。
但我确信有一种更有效的方法。
for i in range(df.shape[0]):
for j in range(df.shape[1]):
newdf.iloc[?]=exdf.iloc[?]
Run Code Online (Sandbox Code Playgroud) 给我们一个字符串数组,我们需要一个char [],即所有字符串中所有字符的数组,例如:
输入:[我,爱,你]
输出:[i,l,o,v,e,y,o,u]
首先,我做了一个数组数组。
然后,我找到了所需的char []数组的长度。
到目前为止,我已经尝试了以下方法:
char[][] a1 = new char[str.length][];
for(int i =0;i<str.length;i++){
a1[i]=str[i].toCharArray();
}
int total=0;
for(int i =0;i<str.length;i++){
total = total + a1[i].length;
}
char[] allchar = new char[total];
for(int i=0;i<str.length;i++){
//NOW HERE I WANT TO MERGE ALL THE char[] ARRAYS TOGETHER.
//HOW SHOULD I DO THIS?
}
Run Code Online (Sandbox Code Playgroud)