我在pandas DataFrame中有一个列,我想在一个空格上拆分.拆分很简单DataFrame.str.split(' '),但我不能从最后一个条目创建一个新列.当我.str.split()在列中获得数组列表时,我不知道如何操作它来为我的DataFrame获取新列.
这是一个例子.该列中的每个条目都包含"符号数据价格",我想分拆价格(最终在一半的情况下删除"p"...或"c").
import pandas as pd
temp = pd.DataFrame({'ticker' : ['spx 5/25/2001 p500', 'spx 5/25/2001 p600', 'spx 5/25/2001 p700']})
temp2 = temp.ticker.str.split(' ')
Run Code Online (Sandbox Code Playgroud)
产量
0 ['spx', '5/25/2001', 'p500']
1 ['spx', '5/25/2001', 'p600']
2 ['spx', '5/25/2001', 'p700']
Run Code Online (Sandbox Code Playgroud)
但temp2[0]只是给出一个列表条目的数组并temp2[:][-1]失败.如何将每个数组中的最后一个条目转换为新列?谢谢!
例如,有一个字符串val s = "Test".你怎么把它分成t, e, s, t?
我想车削简单的东西"this is a test"进入
new string[] {"t","h","i","s"," ","i","s"," ","a"," ","t","e","s","t"}
Run Code Online (Sandbox Code Playgroud)
我真的必须这样做吗?
test = "this is a test".Select(x => x.ToString()).ToArray();
Run Code Online (Sandbox Code Playgroud)
编辑:为了澄清,我不想要一个char数组,理想情况下我想要一个字符串数组.我没有看到上述代码有任何问题,只是因为我认为有一种更简单的方法.
我想打开我的file.txt并拆分此文件中的所有数据.
这是我的file.txt:
some_data1 some_data2 some_data3 some_data4 some_data5
Run Code Online (Sandbox Code Playgroud)
这是我的python代码:
>>>file_txt = open("file.txt", 'r')
>>>data = file_txt.read()
>>>data_list = data.split(' ')
>>>print data
some_data1 some_data2 some_data3 some_data4 some_data5
>>>print data_list
['\xef\xbb\xbfsome_data1', 'some_data1', "some_data1", 'some_data1', 'some_data1\n']
Run Code Online (Sandbox Code Playgroud)
正如你在这里看到的那样,当我打印data_list出来时,它会添加到我的列表中:\xef\xbb\xbf这个:\n.这些是什么以及如何从列表中清除我的列表.
谢谢.
将String拆分为Stream 的最佳方法是什么?
我看到了这些变化:
Arrays.stream("b,l,a".split(","))Stream.of("b,l,a".split(","))Pattern.compile(",").splitAsStream("b,l,a")我的优先事项是:
一个完整的,可编译的例子:
import java.util.Arrays;
import java.util.regex.Pattern;
import java.util.stream.Stream;
public class HelloWorld {
public static void main(String[] args) {
stream1().forEach(System.out::println);
stream2().forEach(System.out::println);
stream3().forEach(System.out::println);
}
private static Stream<String> stream1() {
return Arrays.stream("b,l,a".split(","));
}
private static Stream<String> stream2() {
return Stream.of("b,l,a".split(","));
}
private static Stream<String> stream3() {
return Pattern.compile(",").splitAsStream("b,l,a");
}
}
Run Code Online (Sandbox Code Playgroud) 我想分割这些字符串
'foofo21'
'bar432'
'foobar12345'
Run Code Online (Sandbox Code Playgroud)
成
['foofo', '21']
['bar', '432']
['foobar', '12345']
Run Code Online (Sandbox Code Playgroud)
有人知道在python中执行此操作的简单方法吗?
我需要编写一个过程来规范化一个记录,该记录具有由一个char连接的多个标记.我需要获取这些标记分割字符串并将每个标记作为新记录插入表中.Oracle是否有类似"拆分"功能的东西?
如何在不删除分隔符的情况下拆分字符串?
假设我有一个字符串:
var string = "abcdeabcde";
当我这样做时
var newstring = string.split("d"),我得到这样的东西:
["abc","eabc","e"]
但我想得到这个:
["abc","d","eabc","d","e"]
当我尝试做我的"split2"功能时,我把所有纠结在splice()和索引以及"this"vs"that"和...... aargh!救命!:d
Java文档似乎没有提及任何关于弃用的内容StringTokenizer,但我一直听说它很久以前就被弃用了.它被弃用是因为它有错误/错误,还是String.split()更好地使用整体?
我有一些使用的代码,StringTokenizer我想知道我是否应该认真考虑重构它以使用String.split(),或者弃用是否纯粹是方便的问题,我的代码是安全的.
这里的Okey是我的代码,其中包含我尝试做的详细信息:
var str = "Hello m|sss sss|mmm ss";
//Now I separate them by "|"
var str1 = str.split("|");
//Now I want to get the first word of every split-ed sting parts:
for (var i = 0; i < codelines.length; i++) {
//What to do here to get the first word of every spilt
}
Run Code Online (Sandbox Code Playgroud)
那么我该怎么做:\我想得到的是firstword [0]会给出"Hello"而firstword [1]会给出"sss"而firstword [2]会给出"mmm"