考虑一下dataframe df
df = pd.DataFrame(dict(A=[1, 2], B=['X', 'Y']))
df
A B
0 1 X
1 2 Y
如果我沿着axis=0移动(默认值)
df.shift()
A B
0 NaN NaN
1 1.0 X
它按预期将所有行向下推送一行。
但是当我沿着axis=1移动时
df.shift(axis=1)
A B
0 NaN NaN
1 NaN NaN
当我期待的时候一切都是空的
A B
0 NaN 1
1 NaN
我正在使用Pandas / Python中的DataFrame,每一行都有一个ID (这不是唯一的),我想修改dataframe,为每一行添加一个具有多个匹配ID的列。
Starting with:
ID Name Rate
0 1 A 65.5
1 2 B 67.3
2 2 C 78.8
3 3 D 65.0
4 4 E 45.3
5 5 F 52.0
6 5 G 66.0
7 6 H 34.0
8 7 I 2.0
Trying to get to:
ID Nam
如果A&B列中的行为null,则需要将第二行值与列C的第一行合并。
数据:
A B C
12525 1FWE23 1H654D
14654
24798 14654 S56E82
65116 63546 38945
46456 46485 R68R45
AD545
A5D66 45346 QA6683
预期:
A B C
12525 1F
我是Python和Pandas的新手;我已经寻找了几天的解决方案,但没有成功……这就是问题所在: 我有一个类似下面的数据集,我需要剔除一些行的前几个值,以便每行中的最高值在列A中。在下面的示例中,第0行和第3行将丢弃列A中的值,第4行将丢弃列A和B中的值,然后将所有剩余的值向左移动。 A B C D
0 11 23 21 14
1 24 18 17 15
2 22 18 15 13
3 10 13 12 10
4 5 7 14 11 所需 A B C D
0 23 21 14 NaN
1
假设数据框架的示例df
A
0 4.3
1 75
2 8.5
3 4.0
4 98
我需要将每个值从列A移动到每一列--每列一个值:
从第二个值开始:移动到第二列B,
第三个值到第三列C,
等等..。
期望输出:
A B C D E
0 4.3 NaN NaN NaN NaN
1 NaN 75 NaN NaN NaN
2 NaN NaN 8.5 NaN NaN
3 NaN NaN NaN 4.0 NaN
4 NaN NaN NaN Nan 98
一个想法是将每个值复制到第二
我有一个数据帧,比如:
a b c d e
a 1 2 3 5 2
b 2 1 3 4 3
c 2 4 1 5 6
d 1 5 6 1 1
e 2 3 4 1 1
(1)我需要找到索引(i,i)以外的MAX和MIN值。对于这个例子:我需要得到的解为Max: 6,在(c,e),(d,c)处出现2次。对于最小值也是如此。我如何使用Pandas/Python来做这件事?
(2)类似地,如果一个指定了行(或列),我需要得到它的最大和最小值,而不是行索引(或列索引)。因此,如果我指定行a,我需要将MAX val设为5,并出现在(a,b),(a,e)处。谢谢。
我有两个栏,我试图用熊猫来计算它。我是一个电子表格用户,最近学习python快速计算。我想要创建一个新的列'C‘,我只知道如何使用excel公式,但是在python中,我知道计算两行值之间的差异。我不知道在熊猫身上该怎么做才能达到预期的效果。
A B
a r
b m
c f
试过:
df['C']=df['A'] - df['A'].shift(-1)
预期产出:
C
(b-a)
(c-b)
我有一个pandas dataframe,它包含字符串格式的列值和一个datetime索引。我想创建一个新列,其中将包含过去两天内某列的值列表。用熊猫能做到这一点吗?
原始数据格式:
date col1 col2
0 2018-07-08 a b
1 2018-07-09 c d
2 2018-07-10 e f
3 2018-07-11 g h
4 2018-07-12 i j
5 2018-07-13 k l
6 2018-07-14 m n
最终数据帧:
date col1
我正在处理一个pandas数据帧,我希望在每一行中找到最远的非空值,然后颠倒这些值的顺序,并输出一个行值颠倒的数据帧,而不会在第一列中留下空值。本质上颠倒了列的顺序并将非空值向左移位。 在: 1 2 3 4 5
1 a b c d e
2 a b c
3 a b c d
4 a b c 输出: 1 2 3 4 5
1 e d c b a
2 c b a
3 d c b a
4 c b a
我使用Pandas函数pd.read_csv导入由|分隔的txt文件。列标题有419个字段,因此它正在计算所有字段。不过,有些行的列超过419列。
那么,我将如何使数据帧能够按需要增加列,或者仅仅添加X列,以允许更多的列沿着这条路前进。
示例:
我怎么解释"F"?
A B C D E
A B C D E
A B C D E F
这就是我收到的错误。我在木星笔记本上使用python 3。
ParserError:错误标记数据。C错误:第7945行中预期的419字段,saw 424
这是我试图使用的代码
data = pd.read_csv('filepath.tx
数据如下:
Ctgr
A
B
B
C
D
E
F
我想要的结果是:
Ctgr|subctgr
A | A
B | A
B | A
C | A
D | D
E | D
F | D
也就是说,subctgr是由每个"group“的第一行的值决定的。
但是,我不知道如何区分python中的每个“组”,尽管它们由一个NaN值分隔。
我有一只熊猫的数据表,它在第一次观察的时候就有字符串观察的窗口/链索引。这个窗口的大小是可变的。在这个例子中,我们可以说它们是4条观测的链。我想知道如何最有效地消除某些值,如果它们在窗口中的任何地方都有特定的观察,我知道如果第n个窗口以我正在寻找的值开始,我知道我可以去掉它,以及前面的三个窗口,因为它们稍后也会在窗口中包含相同的值。窗口可能包含要筛选的值的多个实例。这是一些样本数据。从一系列简单的事件开始,ser:
import pandas as pd
ser = pd.Series(['a','b','c','d','