我在oracle数据库中有表,而这些表中有不同数量的列。在这些表中,有一些真实的数据(100万到10亿行),我想为每个表创建一个唯一的索引,但我不知道哪一列或哪些列包含uniqe数据。
我们的目标是为一个表找到最小的列数,用它我可以创建一个唯一的索引。
我的想法是为每一列创建一个select语句,并检查它有多少不同的值:
select COLUMN_1, count(1) CC from TABLE group by COLUMN_1;
通过这种方式,我知道表中的记录数,并将其除以这个查询结果,得到一个表示列的唯一性的数字。对所有列执行此操作后,我将按照列的唯一性顺序列出列,直到每一行变得唯一
我在Python Pandas Series中有一些值(类型:pandas.core.series.Series)
In [1]: series = pd.Series([0.0,950.0,-70.0,812.0,0.0,-90.0,0.0,0.0,-90.0,0.0,-64.0,208.0,0.0,-90.0,0.0,-80.0,0.0,0.0,-80.0,-48.0,840.0,-100.0,190.0,130.0,-100.0,-100.0,0.0,-50.0,0.0,-100.0,-100.0,0.0,-90.0,0.0,-90.0,-90.0,63.0,-90.0,0.0,0.0,
几周前,我问了一个关于在一个数据集中计算相同行的问题。这是我收到的一个答复:
select count(*), a_dttm, b_dttm, c_dttm
from data
group by a_ddtm, b_dttm, c_dttm;
我知道在另一个数据集中有重复的数据,而且它们弄错了我的计数。到目前为止,我知道id被多次使用,但这并不一定意味着这些行是重复的。
select id, count(*) as count
from (
select *
from data
where date >= '2016-01-01' and date <=
我在dask数据框中有一列,其中包含不同类别的逗号分隔列表。我正在寻找复制sklearn的MultiLabelBinarizer或pandas函数pd.get_dummies(',')的功能,就像这个线程描述的那样:Create dummies from column with multiple values in dask 有没有绝对没有办法做到这一点,就像那里的一个答案所说的那样?如果我得到了所有值的列表,有没有办法实现这一点?
在Pandas中,如何在同一个数据集中进行多步/顺序聚合?好像每个步骤都是下一个步骤的“子查询”。
在SQL中,我可以这样想:
SELECT x.A, COUNT(x.B) as B_COUNT, SUM(x.C_SUM) as C_SUM
FROM (
SELECT df.A, df.B, SUM(df.C) as C_SUM
FROM df
GROUP BY df.A, df.B
) x
GROUP BY x.A
在Python3.4和Pandas0.19.2中工作,我有这样一个数据框架:
import pandas
import numpy
numpy.rand
这是我的代码,它搜索数据帧的一列,并在满足要求时返回值:
import pandas as pd
df=pd.read_csv("cl.csv")
count=0
print(len(df.sl_no))
print(len(df.sn_compare))
for i in range(len(df.sn_compare)):
if df.sn_compare[i] in df.sl_no:
print(df.margin[i])
count=count+1
print(count)
输出:
8258
8258
0.036621541
我在学生表中有一列'name‘。我需要在这个列上添加NOT NULL约束。但是我得到SQL错误,说不能添加null约束,因为表中的现有行在列中有NULL值。如何在单个alter语句中添加null约束和默认值。下面是我的问题。
alter table Student alter column name nvarchar NOT NULL;
我有一个Pandas数据框架,其中一列包含文本。我希望在整个专栏中列出一个独特的单词(空格是唯一的分隔符)。
import pandas as pd
r1=['My nickname is ft.jgt','Someone is going to my place']
df=pd.DataFrame(r1,columns=['text'])
输出应该如下所示:
['my','nickname','is','ft.jgt','someone','going&
我很好奇Pandas中是否有预先构建的函数来检查组中的所有成员(列中的因素)是否在另一列中包含相同的值。
也就是说,如果我的数据与下面类似,它将返回一个空列表。
Col1 Col2
2 A
2 A
0 B
0 B
但是,如果我的数据以这种方式出现(注意到Col1中的1):
Col1 Col2
2 A
2 A
0 B
1 B
然后输出将是一个包含对象"B“的列表,因为组B在Col1中有不同的值。
全,
我在数据框中有一列,如下所示:
allHoldingsFund['BrokerMixed']
Out[419]:
78 ML
81 CITI
92 ML
173 CITI
235 ML
262 ML
264 ML
25617 GS
25621 CITI
25644 CITI
25723 GS
25778 CITI
25786 CITI
25793 GS
25797 CITI
Name: BrokerMixed, Le
我正在尝试计算数据帧中每一列的最大和最小长度,该数据帧中有一些缺失值。Pandas将这些缺失值视为"NaN“,并将长度计为3。如何在计算最大和最小长度时完全忽略缺失值?下面是我的代码: import pandas as pd
columnname=[]
maxColumnLenghts = []
minColumnLenghts=[]
for colname in df.columns:
columnname.append(colname)
for col in range(len(df.columns))
我有一个5列数据框架,我需要找出第一列(A)中每个元素重复多少次,并在一个新列(F)中将该元素前面的数量相加,例如第一列(A)中的'a‘在整个数据帧中重复5次,因此需要在第0行的相关单元格中创建列()和添加5,等等。感谢您的支持。我是python的新手,需要你的宝贵评论。
以下是原始数据框架:
A B C D E
a -
b a -
c a -
d b a -
e d b a -
优先采用的数据框架是:
A B C D E F
a -
如何通过匹配另一列中的属性来获取csv文件中某一列的值?
CSV-文件应该是这样的:
One,Two,Three
x,car,5
x,bus,7
x,car,9
x,car,6
我只想得到第3栏的值,如果它们在第2栏中有“汽车”的价值,我也不希望它们被加进去,而是把它们打印在一个清单中,或者这样:
5
9
6
我的方法是这样的,但实际上不起作用:
import pandas as pd
df = pd.read_csv(r"example.csv")
ITEMS = [car] #I will need more items, this is just examplifie