Tag: 数据框

在pandas DataFrame中将unix时间转换为可读的date

我有一个数据框与unix时间和价格。 我想转换索引列,以便它显示在人类可读的date。 所以,例如我有“date”为1349633705在索引列,但我希望它显示为10/07/2012(或至less10/07/2012 18:15)。 对于某些上下文,这里是我正在使用的代码和我已经尝试过的代码: import json import urllib2 from datetime import datetime response = urllib2.urlopen('http://blockchain.info/charts/market-price?&format=json') data = json.load(response) df = DataFrame(data['values']) df.columns = ["date","price"] #convert dates df.date = df.date.apply(lambda d: datetime.strptime(d, "%Y-%m-%d")) df.index = df.date df 正如你所看到的,我正在使用df.date = df.date.apply(lambda d: datetime.strptime(d, "%Y-%m-%d")) ,因为我正在工作整数,而不是string。 我想我需要使用datetime.date.fromtimestamp但我不太清楚如何将其应用于整个df.date。 谢谢。

python dataframe pandas使用int来删除列

我明白,要删除一个列,你使用df.drop('列名',轴= 1)。 有没有办法使用数字索引而不是列名来删除列?

pandasDataFrame Groupby两列并获得数量

我有一个pandas数据框在以下格式: df = pd.DataFrame([[1.1, 1.1, 1.1, 2.6, 2.5, 3.4,2.6,2.6,3.4,3.4,2.6,1.1,1.1,3.3], list('AAABBBBABCBDDD'), [1.1, 1.7, 2.5, 2.6, 3.3, 3.8,4.0,4.2,4.3,4.5,4.6,4.7,4.7,4.8], ['x/y/z','x/y','x/y/z/n','x/u','x','x/u/v','x/y/z','x','x/u/v/b','-','x/y','x/y/z','x','x/u/v/w'],['1','3','3','2','4','2','5','3','6','3','5','1','1','1']]).T df.columns = ['col1','col2','col3','col4','col5'] DF: col1 col2 col3 col4 col5 0 1.1 A 1.1 x/y/z 1 1 1.1 A 1.7 x/y 3 2 1.1 A 2.5 x/y/z/n 3 3 2.6 B 2.6 x/u 2 4 2.5 B 3.3 x […]

pandas数据框获得每组的第一行

我有一个像下面的pandasDataFrame 。 df = pd.DataFrame({'id' : [1,1,1,2,2,3,3,3,3,4,4,5,6,6,6,7,7], 'value' : ["first","second","second","first", "second","first","third","fourth", "fifth","second","fifth","first", "first","second","third","fourth","fifth"]}) 我想通过[“id”,“value”]将其分组,并得到每个组的第一行。 id value 0 1 first 1 1 second 2 1 second 3 2 first 4 2 second 5 3 first 6 3 third 7 3 fourth 8 3 fifth 9 4 second 10 4 fifth 11 5 first 12 6 first […]

重命名Pandas DataFrame索引

我有一个没有标题的csv文件,有一个DateTime索引。 我想重命名索引和列名称,但使用df.rename()只重命名列名称。 错误? 我在版本0.12.0 In [2]: df = pd.read_csv(r'D:\Data\DataTimeSeries_csv//seriesSM.csv', header=None, parse_dates=[[0]], index_col=[0] ) In [3]: df.head() Out[3]: 1 0 2002-06-18 0.112000 2002-06-22 0.190333 2002-06-26 0.134000 2002-06-30 0.093000 2002-07-04 0.098667 In [4]: df.rename(index={0:'Date'}, columns={1:'SM'}, inplace=True) In [5]: df.head() Out[5]: SM 0 2002-06-18 0.112000 2002-06-22 0.190333 2002-06-26 0.134000 2002-06-30 0.093000 2002-07-04 0.098667

pandas数据框到词典列表

我有以下的DataFrame: 客户item1 item2 item3 1个苹果牛奶番茄 2水橙土豆 3汁芒果芯片 我想把它翻译成每行字典列表 rows = [{'customer': 1, 'item1': 'apple', 'item2': 'milk', 'item3': 'tomato'}, {'customer': 2, 'item1': 'water', 'item2': 'orange', 'item3': 'potato'}, {'customer': 3, 'item1': 'juice', 'item2': 'mango', 'item3': 'chips'}]

在Pandas数据框中查找唯一值,而不考虑行或列的位置

我有一个pandas数据框,我想find该数据框中的所有唯一值…不pipe行/列。 如果我有一个10 x 10的数据框,并假设他们有84个独特的值,我需要find他们 – 不是计数。 我可以创build一个集合并通过遍历数据框的行来添加每行的值。 但是,我觉得这可能是低效的(不能certificate这一点)。 有没有一种有效的方法来find它? 有没有预定义的function?

如何计算一列string每行中给定字符的出现次数?

我有一个data.frame其中某些variables包含一个文本string。 我希望统计每个string中给定字符的出现次数。 例: q.data<-data.frame(number=1:3, string=c("greatgreat", "magic", "not")) 我希望为q.data创build一个string中出现的“a”个数(即c(2,1,0))的新列。 我pipe理的唯一复杂的方法是: string.counter<-function(strings, pattern){ counts<-NULL for(i in 1:length(strings)){ counts[i]<-length(attr(gregexpr(pattern,strings[i])[[1]], "match.length")[attr(gregexpr(pattern,strings[i])[[1]], "match.length")>0]) } return(counts) } string.counter(strings=q.data$string, pattern="a") number string number.of.a 1 1 greatgreat 2 2 2 magic 1 3 3 not 0

如何绘制R中dataframe的所有列

我在R有一个dataframe。dataframe有n列,我想得到n个图,每列一个图。 我是一个新手,我不是很stream利的R,无论如何,我find了两个解决scheme。 第一个工作,但它不打印列名(我需要他们!): data <- read.csv("sample.csv",header=T,sep=",") for ( c in data ) plot( c, type="l" ) 第二个更好,因为它打印列名称: data <- read.csv("sample.csv",header=T,sep=",") for ( i in seq(1,length( data ),1) ) plot(data[,i],ylab=names(data[i]),type="l") 有没有更好的(从R语言的angular度来看)解决scheme? 谢谢。 亚历山德罗

如何将一列分成两列?

我有一列的数据框,我想分成两列,其中一列的标题为' fips' ,另一'row' 我的数据框df看起来像这样: row 0 00000 UNITED STATES 1 01000 ALABAMA 2 01001 Autauga County, AL 3 01003 Baldwin County, AL 4 01005 Barbour County, AL 我不知道如何使用df.row.str[:]来实现分割行单元格的目标。 我可以使用df['fips'] = hello添加一个新列,并用hello填充它。 有任何想法吗? fips row 0 00000 UNITED STATES 1 01000 ALABAMA 2 01001 Autauga County, AL 3 01003 Baldwin County, AL 4 01005 Barbour County, […]