Questions tagged «dataframe»

数据框是表格数据结构。通常,它包含数据,其中行是观察值,列是各种类型的变量。虽然“数据框”或“数据框”是几种语言用于此概念的术语(R,Apache Spark,deedle,Maple,Python中的pandas库和Julia中的DataFrames库),但“表”是MATLAB和SQL。

6
熊猫:如何将一列中的文本分成多行?
我正在处理一个较大的csv文件,并且最后一列的旁边是一串文本,我想用一个特定的分隔符来分割它。我想知道是否有使用pandas或python的简单方法? CustNum CustomerName ItemQty Item Seatblocks ItemExt 32363 McCartney, Paul 3 F04 2:218:10:4,6 60 31316 Lennon, John 25 F01 1:13:36:1,12 1:13:37:1,13 300 我想先按空格(' ')再(':')在Seatblocks列中按冒号分开,但每个单元格将导致列数不同。我具有重新排列列的功能,因此Seatblocks列位于工作表的末尾,但是我不确定从那里开始如何做。我可以使用内置text-to-columns函数和快速宏在excel中完成此操作,但是我的数据集记录太多,无法处理excel。 最终,我想记录约翰·列侬的记录并创建多行,并将每组座位的信息放在单独的行上。
135 python  pandas  dataframe 

8
熊猫唯一值多列
df = pd.DataFrame({'Col1': ['Bob', 'Joe', 'Bill', 'Mary', 'Joe'], 'Col2': ['Joe', 'Steve', 'Bob', 'Bob', 'Steve'], 'Col3': np.random.random(5)}) 返回“ Col1”和“ Col2”的唯一值的最佳方法是什么? 所需的输出是 'Bob', 'Joe', 'Bill', 'Mary', 'Steve'

4
Python Pandas:逐行填充数据框
向pandas.DataFrame对象添加一行的简单任务似乎很难完成。有3个与此相关的stackoverflow问题,没有一个给出有效的答案。 这就是我想要做的。我有一个DataFrame,我已经知道它的形状以及行和列的名称。 >>> df = pandas.DataFrame(columns=['a','b','c','d'], index=['x','y','z']) >>> df a b c d x NaN NaN NaN NaN y NaN NaN NaN NaN z NaN NaN NaN NaN 现在,我有一个函数来迭代计算行的值。如何用字典或a填充行之一pandas.Series?这是各种失败的尝试: >>> y = {'a':1, 'b':5, 'c':2, 'd':3} >>> df['y'] = y AssertionError: Length of values does not match length of index …
133 python  dataframe  row  pandas 

5
Pandas DataFrame:根据条件替换列中的所有值
我有一个简单的DataFrame如下所示: 我想从“第一季”列中选择所有值,然后将1990年以后的值替换为1。在此示例中,只有巴尔的摩乌鸦将1996年替换为1(其余数据保持不变)。 我使用了以下内容: df.loc[(df['First Season'] > 1990)] = 1 但是,它将行中的所有值替换为1,而不仅仅是“第一季”列中的值。 如何仅替换该列中的值?
132 python  pandas  dataframe 

2
按组在data.table中使用:=分配多列
使用分配给多列的最佳方法是什么data.table?例如: f <- function(x) {c("hi", "hello")} x <- data.table(id = 1:10) 我想做这样的事情(当然这个语法是不正确的): x[ , (col1, col2) := f(), by = "id"] 为了扩展这一点,我可能有很多列,它们的名称存储在变量中(例如col_names),我想这样做: x[ , col_names := another_f(), by = "id", with = FALSE] 做这样的事情的正确方法是什么?

8
省略包含特定NA列的行
我想知道如何NA在数据框中省略值,但仅在我感兴趣的某些列中。 例如, DF <- data.frame(x = c(1, 2, 3), y = c(0, 10, NA), z=c(NA, 33, 22)) 但是我只想省略数据yis NA,因此结果应该是 x y z 1 1 0 NA 2 2 10 33 na.omit似乎删除所有行包含任何NA。 有人可以帮我解决这个简单的问题吗? 但是如果现在我将问题更改为: DF <- data.frame(x = c(1, 2, 3,NA), y = c(1,0, 10, NA), z=c(43,NA, 33, NA)) 如果我只想忽略x=na或z=na,我可以|在哪里放置in函数?
129 r  dataframe  na 

9
从列中的字符串中删除不需要的部分
我正在寻找一种有效的方法来从DataFrame列的字符串中删除不需要的部分。 数据如下: 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) 任何指针将不胜感激!

5
R-连接两个数据帧?
给定两个数据框a和b: > a a b c 1 -0.2246894 -1.48167912 -1.65099363 2 0.5559320 -0.87898575 -0.15634590 3 1.8469466 -0.01487524 -0.53098215 4 -0.6875051 0.23880967 0.01824621 5 -0.6735163 0.75485292 0.44154092 > b a c 1 0.4287284 -0.3295925 2 0.5201492 0.3341251 3 -2.6355570 1.7916780 4 -1.3645337 1.3642276 5 -0.4954542 -0.6660001 是否有一种简单的方法将它们串联起来以返回下面形式的新数据框? > new a b …

10
如何在R中的数据框中添加一行?
在R中,一旦数据帧已经初始化,如何将新行添加到数据帧? 到目前为止,我有这个: df <- data.frame("hi", "bye") names(df) <- c("hello", "goodbye") #I am trying to add "hola" and "ciao" as a new row de <- data.frame("hola", "ciao") merge(df, de) # Adds to the same row as new columns # Unfortunately, I couldn't find an rbind() solution that wouldn't give me an …
129 r  dataframe 

4
将熊猫数据框列表连接在一起
我有一个熊猫数据框列表,我想将其合并为一个熊猫数据框。我正在使用Python 2.7.10和Pandas 0.16.2 我从以下位置创建了数据框列表: import pandas as pd dfs = [] sqlall = "select * from mytable" for chunk in pd.read_sql_query(sqlall , cnxn, chunksize=10000): dfs.append(chunk) 这将返回数据帧列表 type(dfs[0]) Out[6]: pandas.core.frame.DataFrame type(dfs) Out[7]: list len(dfs) Out[8]: 408 这是一些示例数据 # sample dataframes d1 = pd.DataFrame({'one' : [1., 2., 3., 4.], 'two' : [4., …

5
如何定义DataFrame的分区?
我已经开始在Spark 1.4.0中使用Spark SQL和DataFrames。我想在Scala的DataFrames上定义一个自定义分区程序,但不知道如何做到这一点。 我正在使用的数据表之一包含一个按帐户分类的事务列表,类似于以下示例。 Account Date Type Amount 1001 2014-04-01 Purchase 100.00 1001 2014-04-01 Purchase 50.00 1001 2014-04-05 Purchase 70.00 1001 2014-04-01 Payment -150.00 1002 2014-04-01 Purchase 80.00 1002 2014-04-02 Purchase 22.00 1002 2014-04-04 Payment -120.00 1002 2014-04-04 Purchase 60.00 1003 2014-04-02 Purchase 210.00 1003 2014-04-03 Purchase 15.00 至少在最初,大多数计算将在帐户内的交易之间进行。因此,我希望对数据进行分区,以便一个帐户的所有交易都在同一个Spark分区中。 但是我没有找到定义它的方法。DataFrame类具有一个称为“ …

9
如何将新列添加到Spark DataFrame(使用PySpark)?
我有一个Spark DataFrame(使用PySpark 1.5.1),想添加一个新列。 我已经尝试了以下方法,但没有成功: type(randomed_hours) # => list # Create in Python and transform to RDD new_col = pd.DataFrame(randomed_hours, columns=['new_col']) spark_new_col = sqlContext.createDataFrame(new_col) my_df_spark.withColumn("hours", spark_new_col["new_col"]) 使用此命令也出错: my_df_spark.withColumn("hours", sc.parallelize(randomed_hours)) 那么,如何使用PySpark将新列(基于Python向量)添加到现有DataFrame中?

6
如何从数据框中简洁地编写一个包含多个变量的公式?
假设我有一个响应变量和一个包含三个协变量的数据(作为玩具示例): y = c(1,4,6) d = data.frame(x1 = c(4,-1,3), x2 = c(3,9,8), x3 = c(4,-4,-2)) 我想对数据进行线性回归: fit = lm(y ~ d$x1 + d$x2 + d$y2) 有没有一种写公式的方法,这样我就不必写出每个协变量了?例如,类似 fit = lm(y ~ d) (我希望数据框中的每个变量都是协变量。)我问,因为我的数据框中实际上有50个变量,所以我想避免写出来x1 + x2 + x3 + etc。
127 r  dataframe  glm  lm 

3
使用pandas GroupBy.agg()对同一列进行多次聚合
是否有熊猫内置的方法将两个不同的聚合函数f1, f2应用于同一列df["returns"],而无需agg()多次调用? 示例数据框: import pandas as pd import datetime as dt pd.np.random.seed(0) df = pd.DataFrame({ "date" : [dt.date(2012, x, 1) for x in range(1, 11)], "returns" : 0.05 * np.random.randn(10), "dummy" : np.repeat(1, 10) }) 语法上错误但直观上正确的方法是: # Assume `f1` and `f2` are defined for aggregating. df.groupby("dummy").agg({"returns": f1, "returns": f2}) 显然,Python不允许重复的键。还有其他表达方式agg()吗?也许元组列表[(column, …

14
如何在pandas数据框上显示所有列名称?
我有一个包含数百列的数据框,我需要查看所有列名称。 我做了什么: In[37]: data_all2.columns 输出为: Out[37]: Index(['customer_id', 'incoming', 'outgoing', 'awan', 'bank', 'family', 'food', 'government', 'internet', 'isipulsa', ... 'overdue_3months_feature78', 'overdue_3months_feature79', 'overdue_3months_feature80', 'overdue_3months_feature81', 'overdue_3months_feature82', 'overdue_3months_feature83', 'overdue_3months_feature84', 'overdue_3months_feature85', 'overdue_3months_feature86', 'loan_overdue_3months_total_y'], dtype='object', length=102) 如何显示所有列,而不是截断的列表?
127 python  pandas  dataframe  show 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.