Tag: 数据框

按名称重命名多个列

有人应该问这个,但我找不到答案。 说我有: x = data.frame(q=1,w=2,e=3, …and many many columns…) 什么是最优雅的方式来重新命名一个任意的列的子集,其位置,我不一定知道,到一些其他的任意名称? 例如说我想将"q"和"e"重命名为"A"和"B" ,那么最优雅的代码是什么? 显然,我可以做一个循环: oldnames = c("q","e") newnames = c("A","B") for(i in 1:2) names(x)[names(x) == oldnames[i]] = newnames[i] 但是我想知道有没有更好的办法? 也许使用一些软件包? ( plyr::rename等)

结合两个数据框的大pandas(join一个共同的列)

我有2个数据框: restaurant_ids_dataframe Data columns (total 13 columns): business_id 4503 non-null values categories 4503 non-null values city 4503 non-null values full_address 4503 non-null values latitude 4503 non-null values longitude 4503 non-null values name 4503 non-null values neighborhoods 4503 non-null values open 4503 non-null values review_count 4503 non-null values stars 4503 non-null values state 4503 non-null values […]

检索除一个指定列之外的所有DataFrame

有没有办法select一个pandasDataFrame对象中的所有列,但只有一列? 我已经看到删除列的方法,但我不想这样做。

find每行有最大值的列名

我有这样一个DataFrame: In [7]: frame.head() Out[7]: Communications and Search Business General Lifestyle 0 0.745763 0.050847 0.118644 0.084746 0 0.333333 0.000000 0.583333 0.083333 0 0.617021 0.042553 0.297872 0.042553 0 0.435897 0.000000 0.410256 0.153846 0 0.358974 0.076923 0.410256 0.153846 在这里,我想问如何得到每行有最大值的列名,所需的输出是这样的: In [7]: frame.head() Out[7]: Communications and Search Business General Lifestyle Max 0 0.745763 0.050847 0.118644 0.084746 Communications 0 […]

Python Pandas如何将groupby操作结果分配回父数据框中的列?

我在IPython中有以下数据框,每一行是一个股票: In [261]: bdata Out[261]: <class 'pandas.core.frame.DataFrame'> Int64Index: 21210 entries, 0 to 21209 Data columns: BloombergTicker 21206 non-null values Company 21210 non-null values Country 21210 non-null values MarketCap 21210 non-null values PriceReturn 21210 non-null values SEDOL 21210 non-null values yearmonth 21210 non-null values dtypes: float64(2), int64(1), object(4) 我想要应用一个groupby操作,计算每个date在“yearmonth”列中的所有内容的上限加权平均回报。 这按预期工作: In [262]: bdata.groupby("yearmonth").apply(lambda x: (x["PriceReturn"]*x["MarketCap"]/x["MarketCap"].sum()).sum()) Out[262]: […]

如何使用点绘制pandas数据框的两列?

我有一个pandas数据框架,并想绘制一列的值与另一列的值。 幸运的是,有一些与数据框架相关的plot方法似乎正在做我所需要的: df.plot(x='col_name_1', y='col_name_2') 不幸的是,它看起来像情节样式(在kind参数后面列出)没有点。 我可以使用线条或条纹,甚至可以使用密度而不是点数。 有没有办法可以帮助解决这个问题。

Python / Pandas – 用于查看DataFrame或Matrix的GUI

我正在使用Pandas包,它创build一个DataFrame对象,它基本上是一个标记的matrix。 通常我有长string字段的列,或者多列数据框,所以简单的打印命令不能正常工作。 我已经写了一些文本输出function,但它们不是很好。 我真正喜欢的是一个简单的GUI,它可以让我与数据框/matrix/表进行交互。 就像你会在SQL工具中find的一样。 基本上是一个窗口,有一个只读的电子表格,像查看数据。 我可以通过长桌子等来扩大栏目,上下翻页 我怀疑像这样的东西存在,但我必须用错误的词汇Googlesearch。 如果它是pandas的具体情况会很好,但我想我可以使用任何matrix接受工具。 (顺便说一句 – 我在Windows上) 任何指针? 或者,相反,如果有人知道这个空间,并知道这可能不存在,任何build议是否有一个简单的GUI框架/小部件,我可以用我自己的? (但是由于我的需求是有限的,我不愿意学习一个大的GUI框架,并为这一块做一堆编码。)

将dataframe分成多个dataframe

我有一个非常大的数据框(大约100万行),来自一个实验(60个受访者)的数据。 我想将dataframe分成60个dataframe(每个参与者的dataframe)。 在数据框(叫做= data)中有一个名为'name'的variables,它是每个参与者的唯一代码。 我已经尝试了以下,但没有发生(或一小时内不停止)。 我打算做的是将数据框(数据)拆分成更小的数据框,并将其附加到列表(datalist)中: import pandas as pd def splitframe(data, name='name'): n = data[name][0] df = pd.DataFrame(columns=data.columns) datalist = [] for i in range(len(data)): if data[name][i] == n: df = df.append(data.iloc[i]) else: datalist.append(df) df = pd.DataFrame(columns=data.columns) n = data[name][i] df = df.append(data.iloc[i]) return datalist 我没有收到错误信息,脚本似乎永远运行! 有一个聪明的方法来做到这一点?

在DataFrame索引上应用函数

在Pandas DataFrame的索引上应用函数的最佳方法是什么? 目前我正在使用这种详细的方法: pd.DataFrame({"Month": df.reset_index().Date.apply(foo)}) 其中Date是索引的名称, foo是我正在应用的函数的名称。

如何打印没有索引的dataframe

我想打印整个数据框,但我不想打印索引 此外,一列是date时间types,我只是想打印时间,而不是date。 数据框如下所示: User ID Enter Time Activity Number 0 123 2014-07-08 00:09:00 1411 1 123 2014-07-08 00:18:00 893 2 123 2014-07-08 00:49:00 1041 我希望它打印为 User ID Enter Time Activity Number 123 00:09:00 1411 123 00:18:00 893 123 00:49:00 1041