Questions tagged «dataframe»

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

1
如何旋转R中带有节和子节的列组成的数据框
我有一个下面提到的数据框: structure( list(ID = c("P-1", " P-1", "P-1", "P-2", "P-3", "P-4", "P-5", "P-6", "P-7", "P-8"), Date = c("2020-03-16 12:11:33", "2020-03-16 13:16:04", "2020-03-16 06:13:55", "2020-03-16 10:03:43", "2020-03-16 12:37:09", "2020-03-16 06:40:24", "2020-03-16 09:46:45", "2020-03-16 12:07:44", "2020-03-16 14:09:51", "2020-03-16 09:19:23"), Status = c("SA", "SA", "SA", "RE", "RE", "RE", "RE", "XA", "XA", "XA"), Flag …

2
生成过滤后的二元笛卡尔积
问题陈述 我正在寻找一种有效的方法来生成完全二进制的笛卡尔乘积(具有某些列的True和False的所有组合的表),并按某些排他条件过滤。例如,对于三列/位,n=3我们将获得完整表 df_combs = pd.DataFrame(itertools.product(*([[True, False]] * n))) 0 1 2 0 True True True 1 True True False 2 True False True 3 True False False ... 应该由字典定义互斥组合来过滤此内容,如下所示: mutually_excl = [{0: False, 1: False, 2: True}, {0: True, 2: True}] 键在其中表示上表中的列。该示例将读取为: 如果0为False而1为False,则2不能为True 如果0为True,则2不能为True 基于这些过滤器,预期输出为: 0 1 2 1 True …

5
将列表中找到的ID添加到Pandas数据框中的新列
假设我有以下数据框(一列整数和一列整数列表)... ID Found_IDs 0 12345 [15443, 15533, 3433] 1 15533 [2234, 16608, 12002, 7654] 2 6789 [43322, 876544, 36789] 还有一个单独的ID列表... bad_ids = [15533, 876544, 36789, 11111] 鉴于此,忽略df['ID']列和任何索引,我想看看bad_ids列中是否提到了列表中的任何ID df['Found_IDs']。到目前为止,我的代码是: df['bad_id'] = [c in l for c, l in zip(bad_ids, df['Found_IDs'])] 这是有效的,但仅当bad_ids列表比数据框长,并且对于实际数据集,bad_ids列表将比数据框短得多时。如果我将bad_ids列表设置为仅两个元素... bad_ids = [15533, 876544] 我遇到了一个非常流行的错误(我读过很多有相同错误的问题)... ValueError: Length of values does …

1
如何从Python生成的动态循环中删除空值?
我有一个这样的数据框: ORDER_NO 2401 2504 2600 2020020 2019-12-04 2019-12-10 2019-12-12 2020024 2019-12-25 NaN 2019-12-20 2020034 NaN NaN 2019-12-20 2020020 2019-12-12 2019-12-15 2019-12-18 我从上面的数据框架创建XML。我想删除填充到XML中的空值。我的代码应从XML中删除该特定的列和行值。 我的密码 header = """<ORD>{}</ORD>""" body =""" <osi:ORDSTSINF types:STSCDE="{}"> <DTM>{}</DTM>""" cols = df.columns for row in df.itertuples(): with open(f'{row[1]}.xml', 'w') as f: f.write(header.format(row[1])) for c, r in zip(row[2:], cols[1:]): …

6
识别并标记r中的重复行
我想识别并标记基于2列的重复行。我想为每个重复项创建唯一的标识符,因此我不仅知道该行是重复项,而且还知道它与哪一行是重复项。我有一个如下所示的数据框,其中包含一些重复的项对(适合和坐着)和其他不重复的对。当项目对重复时,它们包含的信息是唯一的(例如,一行将在Value1中保留1行的值,但不包含Value2和Value 3,第二行或“重复”行仅具有Value2和Value3的数字)不是Value1) 当前数据框 value1 value2 value3 fit sit [1,] "1" NA NA "it1" "it2" [2,] NA "3" "2" "it2" "it1" [3,] "2" "3" "4" "it3" "it4" [4,] NA NA NA "it4" "it3" [5,] "5" NA NA "it5" "it6" [6,] NA NA "2" "it6" "it5" [7,] NA "4" NA "it7" "it9" …
11 r  dataframe 

7
将重复的“键=值”对的文件读入DataFrame
我有一个txt文件,其中包含此格式的数据。前三行重复一遍又一遍。 name=1 grade=A class=B name=2 grade=D class=A 我想以表格格式输出数据,例如: name | grade | class 1 | A | B 2 | D | A 我正在努力设置标题,并循环遍历数据。到目前为止,我尝试过的是: def myfile(filename): with open(file1) as f: for line in f: yield line.strip().split('=',1) def pprint_df(dframe): print(tabulate(dframe, headers="keys", tablefmt="psql", showindex=False,)) #f = pd.DataFrame(myfile('file1') df = pd.DataFrame(myfile('file1')) pprint_df(df) 该输出是 …

6
根据多个列和阈值合并数据帧
我有两个data.frames的多个公共列(这里date,city,ctry,和(other_)number)。 我现在想将它们合并到以上各列中,但可以容忍某种程度的差异: threshold.numbers <- 3 threshold.date <- 5 # in days 如果date条目之间的差异是> threshold.date(天)或 > threshold.numbers,我不希望合并这些行。同样,如果in city中df的条目是该city列中另一个条目的子字符串,我希望将这些行合并。[如果任何人有一个更好的主意来测试实际的城市名称相似,我会很高兴听到这个消息。(并保持第一df“的S记录date,city以及country但是两者(other_)number列,并在所有其他列df。 考虑以下示例: df1 <- data.frame(date = c("2003-08-29", "1999-06-12", "2000-08-29", "1999-02-24", "2001-04-17", "1999-06-30", "1999-03-16", "1999-07-16", "2001-08-29", "2002-07-30"), city = c("Berlin", "Paris", "London", "Rome", "Bern", "Copenhagen", "Warsaw", "Moscow", "Tunis", "Vienna"), ctry = c("Germany", "France", "UK", "Italy", "Switzerland", …
11 r  dataframe 

4
在元素计数不等于1的组上过滤DataFrame
我正在使用具有以下结构的DataFrame: import pandas as pd df = pd.DataFrame({'group':[1,1,1,2,2,2,2,3,3,3], 'brand':['A','B','X','C','D','X','X','E','F','X']}) print(df) group brand 0 1 A 1 1 B 2 1 X 3 2 C 4 2 D 5 2 X 6 2 X 7 3 E 8 3 F 9 3 X 我的目标是仅查看与他们关联的品牌完全相同的群体X。由于组2具有两个等于brand的观察值X,因此应从结果DataFrame中将其滤除。 输出应如下所示: group brand 0 1 A 1 …

6
AttributeError:“ DataFrame”对象没有属性“ ix”
当我尝试使用pandas数据框的.ix属性提取列时,出现上述错误,例如df.ix [:,'col_header']。该脚本从今天早上开始运行,但是今天下午我在带有新安装的Pandas的新Linux环境中运行了该脚本。其他人以前见过这个错误吗?我在这里和其他地方搜索过,但找不到。

3
从Pandas数据框中仅解冻部分列
我有以下示例数据框: df = pd.DataFrame(data = {'RecordID' : [1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5], 'DisplayLabel' : ['Source','Test','Value 1','Value 2','Value3','Source','Test','Value 1','Value 2','Source','Test','Value 1','Value 2','Source','Test','Value 1','Value 2','Source','Test','Value 1','Value 2'], 'Value' : ['Web','Logic','S','I','Complete','Person','Voice','>20','P','Mail','OCR','A','I','Dictation','Understandable','S','I','Web','Logic','R','S']}) 创建以下数据框: +-------+----------+---------------+----------------+ | Index | RecordID | Display Label | Value | +-------+----------+---------------+----------------+ | 0 | 1 | Source | Web | | 1 | 1 …

2
如何从Python-3的DataFrame中查找前N个最小值
我在数据框下方有字段“年龄”,需要从数据框中找到前3个最低年龄 DF = pd.DataFrame.from_dict({'Name':['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'], 'Age':[18, 45, 35, 70, 23, 24, 50, 65, 18, 23]}) DF['Age'].min() 要在列表中排名前两个年龄(即18、23),如何实现? 注意:DataFrame-DF包含年龄重复项,即18和23重复两次,需要唯一值。

5
根据前n行有条件地创建新列
我有一个数据框架,如下所示: df <- data.frame("id" = c(111,111,111,222,222,222,222,333,333,333,333), "Location" = c("A","B","A","A","C","B","A","B","A","A","A"), "Encounter" = c(1,2,3,1,2,3,4,1,2,3,4)) id Location Encounter 1 111 A 1 2 111 B 2 3 111 A 3 4 222 A 1 5 222 C 2 6 222 B 3 7 222 A 4 8 333 B 1 9 333 A …

1
合并两个数据框并使用名称添加列级别
嗨,我一直在研究大熊猫的concat,join和merge方法,但似乎找不到我想要的东西。 假设我有两个数据框 A = pd.DataFrame("A",index=[0,1,2,3,4],columns=['Col 1','Col 2','Col 3']) B = pd.DataFrame("B",index=[0,1,2,3,4],columns=['Col 1','Col 2','Col 3']) >>> A Col 1 Col 2 Col 3 0 A A A 1 A A A 2 A A A 3 A A A 4 A A A >>> B Col 1 Col 2 Col 3 …

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.