我有一个表库存(ItemId,名称,大小,价格,其他信息),其中ItemId是主键,名称,大小,价格是唯一的.
当我用名称绑定组合框时,所有重复的名称出现,而我希望每个名称只出现一次,同样的大小.
如何在绑定到数据源的组合框中加载唯一值?
当我在我的表上有多个连接后运行一个select时,我有一个2列的输出,我想为返回的行集选择col1和col2的不同组合.
我运行的查询将是这样的:
select a.Col1,b.Col2 from a inner join b on b.Col4=a.Col3
Run Code Online (Sandbox Code Playgroud)
现在输出有点像这样
Col1 Col2
1 z
2 z
2 x
2 y
3 x
3 x
3 y
4 a
4 b
5 b
5 b
6 c
6 c
6 d
Run Code Online (Sandbox Code Playgroud)
现在我想输出应该是如下
1 z
2 y
3 x
4 a
5 b
6 d
Run Code Online (Sandbox Code Playgroud)
如果我随机选择第二列就可以了,因为我的查询输出就像一百万行而且我真的认为有一种情况我会让Col1和Col2输出相同,即使这是我可以编辑的值..
你可以帮我一样吗...我认为基本上col3需要是一个行号我猜,然后我需要在随机行号上选择两个cols基础..我不知道如何将它转换为SQL
考虑案例1a 1b 1c 1d 1e 2a 2b 2c 2d 2e现在group by将给出我所有这些结果,因为我想要1a和2d或1a和2b.任何这样的组合.
好吧,让我解释一下我的期望:
with rs as(
select a.Col1,b.Col2,rownumber() as rowNumber from a inner join …Run Code Online (Sandbox Code Playgroud) 基于这个问题:
[如何使用LINQ进行SELECT UNIQUE?
我编写了下面的表达式来OrganizationID从dt包含多列的数据表中选择具有唯一列的行.
var distinctRows = (from DataRow dRow in dt.Rows
select new { col1 = dRow["OrganizationID_int"] }).Distinct();
Run Code Online (Sandbox Code Playgroud)
但是当我distinctRows在执行表达式后检查时,它只有1列(col1)的记录而不是整个列.我担心添加类似于col2=...等的表达式可能会被解释为我希望在所有这些列上选择distinct.
那么如何在仅在1列而不是整列上应用唯一过滤器时获得整行?
我的文件看起来像这样:
aaien 12 13 39
aan 10
aanbad 12 13 14 57 58 38
aanbaden 12 13 14 57 58 38
aanbeden 12 13 14 57 58 38
aanbid 12 13 14 57 58 39
aanbidden 12 13 14 57 58 39
aanbidt 12 13 14 57 58 39
aanblik 27 28
aanbreken 39
...
Run Code Online (Sandbox Code Playgroud)
我想用key =这个词(比如'aaien')创建一个字典,值应该是它旁边的数字列表.所以它必须这样看:{'aaien':['12,13,39'],'aan':['10']}
这段代码似乎不起作用.
document = open('LIWC_words.txt', 'r')
liwcwords = document.read()
dictliwc = {}
for line in liwcwords:
k, v = line.strip().split(' ')
answer[k.strip()] = v.strip() …Run Code Online (Sandbox Code Playgroud) 如果我使用以下内容Source:
sourceList [1,3,3,1,2,3]
Run Code Online (Sandbox Code Playgroud)
是否可以应用某些过滤器或组合器来仅允许向下游传递不同的值?
所以在我的例子中,只会[1,3,2]传递到下游?
在我的数据集中是具有多个不同名称的ID.为了检测它们,我建立了这个功能:
ddply(my_dataframe, ~ID_col, summarise, number_of_names = length(unique(names_col)))
Run Code Online (Sandbox Code Playgroud)
这很好用,所以我在第一个col中得到一个带有ID的表,在第二个col中得到不同名称的数量.
因为我需要对几个ID /名称对执行此操作,所以我决定将ddply函数放在函数中.我做了如下:
function_name = function (source, id, name) {
ddply(source, ~id, summarise, number_of_names = length(unique(name)))
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我使用它时会抛出错误:
function_name(my_dataframe, ID_col, names_col)
# Error in unique.default(x) : unique() applies only to vectors
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它与之前的代码完全相同,但嵌入了具有三个变量的函数中.我迫不及待地想要修复它并且真的期待解决方案.
仅供参考:在我的原始代码中,我没有使用"源"或"名称"而是使用德语单词,因此对于现有的其他功能应该没有问题.我也试过把变量放在引号中.
谢谢你的帮助!
这就是DF有点像:
my_dataframe <- data.frame(
ID_col = c(letters[2:9], letters[3:4]),
names_col = paste0("name-", letters[1:10])
)
Run Code Online (Sandbox Code Playgroud)
有303个ID,但有963个名字.
我有点奇怪的情况.我之前已经解决了我的编程问题,但我正在回顾它并尝试使用pandas来实现它.我认为这是练习使用熊猫的好地方.
我正在查询数据库,进行一些计算,然后使用PyQt QTableWidget将结果显示在GUI上.
计算后的示例表可能如下所示:
test_list = [["a", "b", "c", "d"],
["1", "3", "5", "7"],
["1", "4", "5", "7"],
["2", "3", "6", "8"],
["2", "4", "6", "9"]]
Run Code Online (Sandbox Code Playgroud)
在显示之前我想要做的是:根据列"a","c"和"d"获取不同的行,并将列"b"中的删除元素合并回列中.我想要的结果如下:
['a', 'b', 'c', 'd']
['1', '3, 4', '5', '7']
['2', '3', '6', '8']
['2', '4', '6', '9']
Run Code Online (Sandbox Code Playgroud)
注意列"b","3,4"是如何在它们的行中表示的.
以下是我最初使用列表和词典的方式:
def mergeDistinct(my_list):
new_list_dict = {}
for elem in my_list[1:]:
key_str = (elem[0], elem[2], elem[3])
if key_str in new_list_dict.keys():
new_list_dict[key_str][1] += ", " + elem[1]
else:
new_list_dict[key_str] = elem[::]
new_list_dict[key_str][1] = elem[1]
ret_list = new_list_dict.values() …Run Code Online (Sandbox Code Playgroud) 我想删除列动物每行中的重复项。
我需要类似这篇文章的内容,但需要使用python。由于某种原因,我现在无法解决此问题,并且遇到了障碍。
我试过使用掉落重复项,唯一性,唯一性等。没有运气。
df.drop_duplicates(subset = None,keep =“ first”,inplace = False)df
df = pd.DataFrame ({'animals':['pink pig, pink pig, pink pig','brown cow, brown cow','pink pig, black cow','brown horse, pink pig, brown cow, black cow, brown cow']})
#input:
animals
0 pink pig, pink pig, pink pig
1 brown cow, brown cow
2 pink pig, black cow
3 brown horse, pink pig, brown cow, black cow, brown cow
Run Code Online (Sandbox Code Playgroud)
#I would like the output to look like this:
animals
0 pink pig
1 brown …Run Code Online (Sandbox Code Playgroud) 我有一个名为 Product
public class Product
{
public string Name{ get; set; }
public int ProductId{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有一个产品列表,相同Name但不同ProductId.
我想从列表中获得不同的产品 product.Name
即如果列表是
var fullproductList = {
Name: product,
ProductId: 1
}, {
Name: product,
ProductId: 2
}, {
Name: product,
ProductId: 3
};
Run Code Online (Sandbox Code Playgroud)
我想要任何一个上面的产品.
我想实现这一点而不像这样循环:
List<Product> distinctProducts= new List<Product>();
var distictproductName=fullSubjectList.Select(x => x.Name).Distinct().ToList();
foreach (var item in distictproductName)
{
distinctProducts.Add(fullproductList.Where(x=>x.Name==item).FirstOrDefault());
}
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我想使用 Python Pandas从CSV文件中删除重复记录。CSV 文件包含具有三个属性的记录:scale、minzoom和maxzoom。我想要一个带有minzoom和maxzoom的结果数据框,并且留下的记录是唯一的。
IE,
输入 CSV 文件 (lookup_scales.csv)
Scale, minzoom, maxzoom
2000, 0, 15
3000, 0, 15
10000, 8, 15
20000, 8, 15
200000, 15, 18
250000, 15, 18
Run Code Online (Sandbox Code Playgroud)
必需的distinct_lookup_scales.csv(无比例列)
minzoom, maxzoom
0,5
8,15
15,18
Run Code Online (Sandbox Code Playgroud)
到目前为止我的代码是
lookup_scales_df = pd.read_csv('C:/Marine/lookup/lookup_scales.csv', names = ['minzoom','maxzoom'])
lookup_scales_df = lookup_scales_df.set_index([2, 3])
file_name = "C:/Marine/lookup/distinct_lookup_scales.csv"
lookup_scales_df.groupby('minzoom', 'maxzoom').to_csv(file_name, sep=',')
Run Code Online (Sandbox Code Playgroud) distinct-values ×10
python ×4
c# ×3
pandas ×2
conduit ×1
csv ×1
data-binding ×1
dataframe ×1
dictionary ×1
duplicates ×1
filter ×1
grouping ×1
haskell ×1
linq ×1
list ×1
plyr ×1
r ×1
sql ×1
t-sql ×1
unique ×1