Tag: 数据框

pandasDataFrame:从列中的string中删除不需要的部分

我正在寻找一种有效的方法来从DataFrame列中的string中删除不需要的部分。 数据如下所示: time result 1 09:00 +52A 2 10:00 +62B 3 11:00 +44a 4 12:00 +30b 5 13:00 -110a 我需要修剪这些数据到: time result 1 09:00 52 2 10:00 62 3 11:00 44 4 12:00 30 5 13:00 110 我试过.str.lstrip('+-')和。 str.rstrip('aAbBcC') ,但有一个错误: TypeError: wrapper() takes exactly 1 argument (2 given) 任何指针将不胜感激!

pandas写数据框到CSV文件

我有一个pandas数据框,我想写入一个CSV文件。 我正在使用: df.to_csv('out.csv') 并得到错误: UnicodeEncodeError: 'ascii' codec can't encode character u'\u03b1' in position 20: ordinal not in range(128) 有没有什么办法可以轻松解决这个问题(即我的数据框中有unicode字符)? 有没有办法写一个制表符分隔的文件,而不是一个CSV使用例如一个“标签”方法(我不认为存在)?

pandas:如何将应用函数用于多列

在使用多列与下面的数据框时,pandas应用函数有一些问题 df = DataFrame ({'a' : np.random.randn(6), 'b' : ['foo', 'bar'] * 3, 'c' : np.random.randn(6)}) 和以下function def my_test(a, b): return a % b 当我尝试应用这个function: df['Value'] = df.apply(lambda row: my_test(row[a], row[c]), axis=1) 我收到错误消息: NameError: ("global name 'a' is not defined", u'occurred at index 0') 我不明白这个消息,我正确定义了这个名字。 我非常感谢在这个问题上的任何帮助 更新 谢谢你的帮助。 我确实在代码中犯了一些语法错误,索引应该放在''。 不过,我仍然使用一个更复杂的function相同的问题,如: def my_test(a): cum_diff = 0 […]

有没有办法(漂亮)打印整个pandas系列/dataframe?

我在terminal上使用了Series和DataFrames。 一个Series的默认__repr__返回一个减less的样本,有一些头部和尾部的值,但其余的缺失。 是否有内置的方式来漂亮地打印整个系列/dataframe? 理想情况下,它将支持正确的alignment,也许列之间的边界,甚至可能为不同的列进行颜色编码。

将Pandas GroupBy对象转换为DataFrame

我从这样的input数据开始 df1 = pandas.DataFrame( { "Name" : ["Alice", "Bob", "Mallory", "Mallory", "Bob" , "Mallory"] , "City" : ["Seattle", "Seattle", "Portland", "Seattle", "Seattle", "Portland"] } ) 当打印时显示为: City Name 0 Seattle Alice 1 Seattle Bob 2 Portland Mallory 3 Seattle Mallory 4 Seattle Bob 5 Portland Mallory 分组非常简单: g1 = df1.groupby( [ "Name", "City"] ).count() 并打印产生一个GroupBy对象: […]

如何将数据分成3组(火车,validation和testing)?

我有一个pandas数据框,我希望把它分成3个独立的集合。 我知道使用sklearn.cross_validation中的sklearn.cross_validation ,可以将数据分成两组(train和test)。 不过,我找不到将数据分成三组的解决scheme。 最好是我想要有原始数据的索引。 我知道一个解决方法是使用train_test_split两次,并以某种方式调整索引。 但有没有更多的标准/内置的方式将数据分成3组而不是2?

在pandas / python中结合数据框中的两列文本

我有一个使用pandaspython 20 x 4000数据框。 其中两列被命名为年份和季度。 我想创build一个名为period的variables,使Year = 2000和Quarter = q2成为2000q2 任何人都可以帮忙吗?

在Pythonpandas现有的DataFrame中添加新的列

我有以下索引的DataFrame与命名的列和行不连续的数字: abcd 2 0.671399 0.101208 -0.181532 0.241273 3 0.446172 -0.243316 0.051767 1.577318 5 0.614758 0.075793 -0.451460 -0.012493 我想添加一个新的列'e'到现有的数据框,并不想改变数据框中的任何东西(即,新列的长度始终与DataFrame的长度相同)。 0 -0.335485 1 -1.166658 2 -0.385571 dtype: float64 我尝试了不同版本的join , append , merge ,但我没有得到我想要的结果,只有最多的错误。 我如何添加列e到上面的例子?

拆分(爆炸)pandas数据框string条目分隔行

我有一个pandas dataframe ,其中一列文本string包含逗号分隔值。 我想分割每个CSV字段,并为每个条目创build一个新的行(假设CSV是干净的,只需要拆分',')。 比如a应该变成b : In [7]: a Out[7]: var1 var2 0 a,b,c 1 1 d,e,f 2 In [8]: b Out[8]: var1 var2 0 a 1 1 b 1 2 c 1 3 d 2 4 e 2 5 f 2 到目前为止,我已经尝试了各种简单的函数,但是.apply方法在.apply使用时似乎只接受一行作为返回值,并且我无法使用.transform来工作。 我们欢迎所有的build议! 示例数据: from pandas import DataFrame import numpy as np a = […]

更改Pandas中列的数据types

我想将一个表格(表示为列表清单)转换为Pandas DataFrame。 作为一个非常简单的例子: a = [['a', '1.2', '4.2'], ['b', '70', '0.03'], ['x', '5', '0']] df = pd.DataFrame(a) 什么是最好的方式将列转换为适当的types,在这种情况下,列2和3为浮动? 有没有办法在转换为DataFrame时指定types? 或者是最好先创buildDataFrame,然后遍历列来更改每列的types? 理想情况下,我想以dynamic的方式做到这一点,因为可以有数百个列,我不想明确指定哪些列是哪种types。 我只能保证每列都包含相同types的值。