我有一个数据集,其中列的排序没有意义,但列的组合是有意义的。换句话说,在下面的dataframe示例中:
| A | B | C | D |
|---------------|
| h | i | j | k |
| k | j | h | k |
其中[A,B,C,D]是列标题,[h,i,j,k]是单元格值-可以认为row 1和row 2是相同的。
原则上,我试图解决的问题是删除这第二行。我很熟悉:df.delete_duplicates()的用法,但是这里并不认为这两行是等价的。我认为一个可能可行的解决方案是按字母顺序对每一行进行排序,但我想不出一种方法来做到这一点。
非常感谢你的帮助,
假设我有一个3列的dataframe。我想为每一个、几个列的唯一组合创建单独的子数据。
例如,假设我们只有3列,
a <- c(1,5,2,3,4,5,3,2,1,3)
b <- c("a","a","f","d","f","c","a","r","a","c")
c <- c(.2,.6,.4,.545,.98,.312,.112,.4,.9,.5)
df <- data.frame(a,b,c)
我想为列
我有一个DataFrame,其中行按第三列进行“分组”(一个组中的行在第三列具有相同的值):
c1 c2 c3
0 b 1
1 r 1
2 f 2
3 x 2
4 n 2
5 r 3
6 f 3
但是第二列中的值有一个错误的顺序。我需要反转每个“组”中的行,因此DataFrame应该如下所示:
c1 c2 c3
0 r 1
1 b 1
2 n 2
3 x 2
4 f 2
5 f 3
6 r 3
是否有一种有效的方法将第一个DataFrame转换为使用pandas的第二个?
UPD:用更清晰的例子更新。这些值应该
我有一只熊猫的数据,如下所示。
DF_Old =
id tID word rA rB
12 1 A N N
12 2 B O N
12 2 B H O
12 2 B O O
12 2 B N H
word中具有相同tID的每个单词都是在列rA和rB中具有不同值的同一个单词。我想创建一个新的列R,其中包括列rA和rB中的所有唯一值,如下所示。
DF_New
注意:笛卡尔产品可能不是正确的语言,因为我们处理的是数据,而不是集合。它更像是“免费产品”或“文字”。 有多种方法可以将数据帧转换为列表列表。 Here is one way 在这种情况下,列表列表实际上表示列的列表,其中列表索引是行索引。 我想做的是,获取一个数据框,按名称选择特定的列,然后生成一个新的列表,其中内部列表是所选列中元素的笛卡尔乘积。这里给出了一个简化的示例: import pandas as pd
df = pd.DataFrame([[1,2,3],[3,4,5]])
magicMap(df)
df = [[1,3],[2,4],[3,5]] 使用列名: df # f
我需要为两个列的每个值组合创建一个新的“标识符列”,其中包含唯一的值。例如,当ID和相位相同时,应该使用相同的“标识符”(例如r1和ph1,但是当r1和ph2时,应该向列中添加一个新的唯一值)。
df
ID phase side values
r1 ph1 l 12
r1 ph1 r 34
r1 ph2 l 93
s4 ph3 l 21
s3 ph2 l 88
s3 ph2 r 54
...
我需要一个这样的新专栏(idx):
new_df
ID
我有2列ID和Product:
ID Product
A Clothing
B Food
A Food
A Furniture
C Food
B Clothing
如何使用R创建一个数据文件,其中每个ID都将产品分隔为逗号,如下所示:
ID Product
A Clothing, Food, Furniture
B Food, Clothing
C Food, Clothing
我有一个数据格式:
df =
A B C D E
--- --- --- --- ---
0 J969 I279 D65 -1 -1
1 C56 A419 I279 C221 -1
2 R068 D65 N009 -1 -1
3 C56 T107 J969 R068 N009
我需要能够对所有列中的标签进行编码。如果标签与数据same中任何位置的另一个标签(例如,列A行0和列C行3)匹配,则必须将它们编码为相同的编号。因此:
A B C D
我在Derby数据库中创建了一个表,如下所示:
create table "DATABASE".SOMETABLE (ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) CONSTRAINT PK PRIMARY KEY,
SOMETHING VARCHAR(50) not null)
现在,我希望能够插入到该表中,而无需特别列出要插入到其中的所有列。所以我想做这样的事情:
insert into so
我有一个CSV与这些数据:
List Rank.A List Rank.B List Rank.C
a 4 a 8 b 3
b 5 e 5 e 9
c 7 f 5 r 1
我想要创建一个新的csv,其中只有一个具有唯一值的名称 list 的列,并且在同一个列表中还有3列"Rank.A“、"Rank.B”、"Rank.C“。假设Rank.A没有列出任何列表,而是显示为空白。我想要这种格式的数据
我正在尝试在指定列之后创建计算列。
但是SQL为下面的查询提供了语法错误。请帮助我正确的语法/方法来做这件事。
ALTER TABLE service_ServiceClass
ADD LichenClassName AS ([dbo].[UfnGetServiceClassName]([Id])) AFTER Description
我正在尝试建立一个算法,从一些比赛中选择4匹马的组合。
假设我们有10场比赛,每场比赛有8匹马在跑:我想要这些比赛中4匹马的所有组合,条件是这4匹马必须来自不同的比赛(同一组合中的两匹马不能来自同一场比赛)。
这个问题(和现有的算法)有名字吗?
我认为这只是一系列的循环,但我今天还没有喝咖啡…干杯
编辑:我应该说,对于每个组合,我都会对这个组合执行一个相当冗长的函数,所以我不想重复我已经完成的组合。
编辑:还有比这更好的方法吗?
n = number of races;
for ( int i = 0; i < n; i++ ) {
我为格式和一个看似很简单的问题而道歉。我是新来的matlab和这个堆栈交换。我试图从matlab中的几个列向量中创建一个邻接矩阵。信息是从文本文件中导入的。信息看起来是这样的。
X Y Z W
aa bb 1 aa
bb cc 2 bb
cc dd 3 cc
其中,列X和Y是顶点列的名称。Z是重量。X和Y列有关于30000条目的内容,重复。列W是按字母顺序排列的图中的所有顶点,不重复。对于示例数据,输出应该如下所示。
aa bb cc dd
aa 0 1 0 0
bb 1 0 2 0
cc 0 2