我是Pandas的新手,我已经尝试过搜索,但我找不到解决方案。我有一个数据框,里面有Transaction-No,customerId和购买日期,看起来像这样: Transaction 12345 12346 12347 12348 12349
customerID
1 NaN 2019-09-01 NaN 2019-09-11 2019-09-22...
2 2019-10-01 NaN NaN NaN 2019-10-07...
3
有谁知道如何转置熊猫数据帧吗,我有这样的数据集:
# 99564, Noam
Hop Company LLC, 10503 Cher rd
(123) 456-7890, Motor SR 5032
# 99843, Noam
Hop Prods, 902010 Rogg rd
(123) 456-7890, Ed CA 3534
# 99223, Noam
Skyline LLC, 12795 Rodf Road
(123) 456-7890, Sats Road 3922
我想把它变成这样:
# 99564, Noam, Hop Company LLC, 10503 Cher rd
我用misc.imread加载图像,在我的例子中返回2304x3 ndarray。稍后,我将这个数组附加到列表中,并将其转换为DataFrame。这样做的目的是以后在DataFrame上应用Isomap转换。我的数据框架是84行/样本(文件夹中的图像),并且有2304个特性,每个特性都是由3个元素组成的数组/列表。当我尝试使用Isomap转换时,会得到错误:
ValueError: setting an array element with a sequence.
我认为存在错误是因为我的数据框架的元素是对象类型的。首先,我尝试在每个列上使用一个转换to_numeric,但是得到了一个错误,然
我有一个关于将几个数组组合成一个数组的问题。我有一个长度为1000的列表,在列表的每个元素中有16个维度为100的数组,我想要实现的是一个包含1000个元素的列表,每个元素都有一个维度为1600的数组。如何实现这一点:我尝试了以下方法:返回16'000 x 100维度的x=np.concetate(x, axis=0)和返回16 x 100'000维度的x=np.concetate(x, axis=1)。我还尝试了x=np.vstack和x=np.hstack,但我自己无法获得它。有人能帮帮我吗? 谢谢! 编辑:最小工作样本: 我有类似这样的东西,首先是数据帧 Date
我有一个几乎令人尴尬的简单问题,我自己想不出来。
下面是一个演示我想做什么的玩具示例,假设我有一个简单的数据框架:
df = pd.DataFrame([[1,2,3,4,5,6],[7,8,9,10,11,12]],index=range(2),columns=list('abcdef'))
a b c d e f
0 1 2 3 4 5 6
1 7 8 9 10 11 12
我想要的是堆叠它,以便它采取以下形式,其中列标识符已被更改(X和Y),以便它们对于所有重新叠加的值都是相同的:
X Y
0 1 2
我有一个csv文件,其中'|‘作为某些列值的分隔符。我使用了以下函数来重建数据帧,但它消耗了大量内存,并且在我的Mac16G电脑上过了一段时间后无法继续。 df = df.assign(tag=df.tag.str.split('|')).explode(tag).drop_duplicates() 我的文件大小是1.1G,大约160万行。性能监视器显示Python进程正在消耗超过30G的内存,并且很难继续,所以我必须终止它。有大量的内存交换。 这类行的一个示例是: id tag uid date
a|b|c label
我有一个稍微奇怪的csv文件,其中月份列是这样重复的。我的目标是创建一个条形图,其中每个月都有两个y列(来自a和b)。我试图通过将数据帧分割成两个--a只和b--来实现这一点,但月份列的重复却阻碍了这一过程。Python和Pandas非常新,所以也许有一个函数我不知道?任何帮助都是非常感谢的。
month cond. y
Jan a 4
Jan b 8
Feb a 2
Feb b 9
March a 3
March b 7
假设我生成的数据帧如下所示
dataframe <- data.frame(name = (rep(c('A', 'B', 'C', 'D'), 25)), probe = rep(number, each = 4), a = rnorm(100), b = (rnorm(100)+1), c = (rnorm(100)+5))
> head(dataframe)
name probe a b c
1 A 1 0.03394554 2.973
现在我有一个像下面这样的大熊猫数据框架,整个数据行是2923922。我想要生成多个线条图。GYEAR范围为1963至1999年,国家价值为非美国和美国.专利是代码,CAT是绝对价值。我希望x轴是GYEAR,y轴是“Us”/“Non”/ Total的专利和绘图线的数量,另一条是“Other”/“机械”/“药品和医疗”的绘图线。我怎么才能画出来呢?
GYEAR COUNTRY PATENT CAT
0 1963 Non-US 3070801 Other
1 1963 US 3070802 Other
2 1963 US 3070803 Other
我正在尝试从SAS迁移到Python,我面临着一些挑战。具体地说,我有一个宽格式的数据集,其中包含301个观察值,我正在尝试将其重塑为长格式。宽格式数据帧如下所示:
我想把它转换成像下面这样的长格式:
我用来将数据集从宽转换为长的SAS代码是:
data longformat;
set wideformat;
array arts(*) art1-art10;
array cits(*) cit1-cit10;
if jobtime =. then jobtime = 11;
do year = 1 to dur;
if year = dur then promo
我想获得所有的数据行,在那里,如果任何云的长度小于2。
例如:
df = pd.DataFrame({"col1":["a","ab",""],"col2":["bc","abc", "a"]})
col1 col2
0 a bc
1 ab abc
2 a
如何获得此输出:
col1 col2
0 a bc
2 a
我有一个这样的数据帧: > df
Person a b c d
John 1 0 1 1
James 0 1 1 0
Keith 1 0 0 0
Boris 0 1 0 0
... 我需要将它转换成一个向量列表,其中元素的名称对应于数据帧的列名,列表中的元素是列中有1的人的名称。对于上面的示例,列表应如下所示: > result_list
$a
[1] "John" "Keith"
$b
[1] "James&