是否有可能将df转换为如下所示的矩阵?鉴于df:
Name Value
x 5
x 2
x 3
x 3
y 3
y 2
z 4
Run Code Online (Sandbox Code Playgroud)
矩阵将是:
Name 1 2 3 4 5
x 4 4 3 1 1
y 2 2 1 0 0
z 1 1 1 1 0
Run Code Online (Sandbox Code Playgroud)
这是它背后的逻辑:
Name 1 2 3 4 5 (5 columns since 5 is the max in Value)
--------------------------------------------------------------------
x 4 (since x has 4 values >= 1) 4 (since x has 4 values >= 2) 3 (since …Run Code Online (Sandbox Code Playgroud) 我有这个问题,我的df中的一列以字符串形式输入,但我想将其转换为python中的日期月末.例如,
Id Name Date Number
0 1 A 201601 5
1 2 B 201602 6
2 3 C 201603 4
Run Code Online (Sandbox Code Playgroud)
Date列的年份和月份为字符串.理想情况下,我的目标是:
Id Name Date Number
0 1 A 01/31/2016 5
1 2 B 02/29/2016 6
2 3 C 03/31/2016 4
Run Code Online (Sandbox Code Playgroud)
我能够使用Endmon和excel在excel上执行此操作,但是当我在python中尝试pd.to_datetime时,它无法正常工作.谢谢!
我有这个 df:
Name num1 num2 num3
A 1 2 3
B 4 5 6
C 7 8 9
Run Code Online (Sandbox Code Playgroud)
我的目标是将每一行除以总数。这就是我想出的:
df.loc[:,"num1":"num3"] = df.loc[:,"num1":"num3"].div(df["total"], axis=0)
Run Code Online (Sandbox Code Playgroud)
效果很好。但是,如果在 num3 之后添加了更多“numx”列,我将不得不手动将代码更新为“num1”:“numx”。有办法解决这个问题吗?
我有一个df:
Value1 Value2 1 2 3
1 A 0 1 2
2 B 3 4 5
3 C 2 2 2
Run Code Online (Sandbox Code Playgroud)
我想在行和列之间执行sumproduct 1 2 3:
Value1 Value2 1 2 3 sumproduct
1 A 0 1 2 8 = 0*1 + 1*2 + 2*3
2 B 3 4 5 26 = 3*1 + 4*2 + 5*3
3 C 2 2 2 12 = 2*1 + 2*2 + 2*3
Run Code Online (Sandbox Code Playgroud)
我试过(df.values*df.columns.values).sum(1),但后来我需要删除Value1和Value2第一列。有没有更好的方法?
非常感谢!
问题有点简单。我的目标是计算两个日期(例如A和B)之间的天差。
这是我的尝试:
df['daydiff'] = df['A']-df['B']
df['daydiff'] = ((df['A']) - (df['B'])).dt.days
df['daydiff'] = (pd.to_datetime(df['A'])-pd.to_datetime(df['B'])).dt.days
Run Code Online (Sandbox Code Playgroud)
这些以前对我有用,但由于某种原因,这次我一直收到此错误:
TypeError:类'datetime.time'不能转换为datetime
当我将df导出到excel时,日期就可以了。任何想法?
嗨,我不确定如何将新列 z 添加到我现有的 df 中,其中 z = x if x is not 0 else y 。
例如:
Name x y |z (new col)
A 1 5 |1
B 2 6 |2
C 0 3 |3
D 0 0 |0
Run Code Online (Sandbox Code Playgroud)
np.where 在这种情况下适用吗?
谢谢!