小编not*_*hal的帖子

Julia DataFrames 中是否有 diff() 函数,比如 Pandas?

我在 Julia 中有一个 DataFrame,我想创建一个新列来表示特定列中连续行之间的差异。在 python 熊猫中,我会简单地使用df.series.diff(). 有 Julia 等效项吗?

例如:

data
1
2
4
6
7

# in pandas

df['diff_data'] = df.data.diff()

data   diff_data
1        NaN 
2          1
4          2
6          2
7          1
Run Code Online (Sandbox Code Playgroud)

dataframe julia

8
推荐指数
1
解决办法
225
查看次数

如何根据python中的公共ID值将2列的垂直pandas表转换为水平表

df1 = pd.DataFrame({'foo': ['one', 'one', 'one', 'two', 'two', 'two'],
                    'bar': ['A', 'B', 'C', 'A', 'B', 'C']})
Run Code Online (Sandbox Code Playgroud)
酒吧
0 一种
1
2 C
3 一种
4
5 C

我想将其转换为

值1 值2 val3
一种 C
一种 C

我试过的代码是:

pd.pivot_table(df1,index='foo',aggfunc=['first'])
Run Code Online (Sandbox Code Playgroud)

但是上面的代码只返回第一个值

python transpose pivot dataframe pandas

7
推荐指数
1
解决办法
119
查看次数

inplace=True 不适用于子集数据

我正在尝试填充行子集中的缺失值。我正在使用inplace=Truein fillna(),但它在 jupyter notebook 中不起作用。您可以在 Surface 列的前 2 行中看到显示 NaN 的附加图片。我不知道为什么?

我必须这样做,所以它正在工作。为什么?感谢您的帮助。

data.loc[mark,'Surface']=data.loc[mark,'Surface'].fillna(value='TEST')
Run Code Online (Sandbox Code Playgroud)

这是我的代码

mark=(data['Pad']==51) | (data['Pad']==52) | (data['Pad']==53) | (data['Pad']==54) | (data['Pad']==55)

data.loc[mark,'Surface'].fillna(value='TEST',inplace=True)
Run Code Online (Sandbox Code Playgroud)

这个正在工作:

data.loc[mark,'Surface']=data.loc[mark,'Surface'].fillna(value='TEST')
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

python

3
推荐指数
1
解决办法
49
查看次数

使用熊猫将重复行与条件相加

我有一个看起来像这样的数据框:

  Name  rent  sale
0    A   180     2
1    B     1     4
2    M    12     1
3    O    10     1
4    A   180     5
5    M     2    19
Run Code Online (Sandbox Code Playgroud)

我想提出条件,如果我在列字段中重复的行重复的值=> 示例:

  • 重复行 A在租金列中重复值 180 我只保留一个(不计算总和)
  • 或使总和=> 示例复制 A 行在销售列中具有不同的值 2 和 5,在租金和销售列中复制具有不同值的行 M

预期输出:

  Name  rent  sale
0    A   180     7
1    B     1     4
2    M    14     20
3 …
Run Code Online (Sandbox Code Playgroud)

python pandas

2
推荐指数
1
解决办法
65
查看次数

python pandas如何将不同数据框中的其他值乘以列

我有 2 个数据框:

df1(原始数据大约有 3000 行 x 200 列:190 个加法和乘法,其余还有一些其他信息):

           tag    A35    A37    A38
ITEM 
B1         SAS    8.0    3.0    1.0
B2         HTW    1.0    3.0    3.0
B3         ASD    0.0    8.0    0.0
B4         KLD    1.0   10.0    0.0
Run Code Online (Sandbox Code Playgroud)

df2(行中的“价格”与 df1 中的列相匹配):

         day1      day2  
prices
A35           1       3
A37           2       2
A38           3       1
Run Code Online (Sandbox Code Playgroud)

我想df1使用方案添加总体 day1_price 和 day2_price 的列:

df1.B1-day1_price = df1.B1_A35 * df2.A35_day1 + 
                    df1.B1_A37 * df2.A37_day1 + 
                    df1.B1_A38 * df2.A38_day1
Run Code Online (Sandbox Code Playgroud)

所以应该是 row1 day1:(b1) = 8*1+3*2+1*3= 17

           tag …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

2
推荐指数
1
解决办法
612
查看次数

根据值数组过滤数据帧

我有一个数组(名称df)和数据框(名称data)。

数组由唯一的 id 组成,例如df=array([10,11,12])

Dataframe 由 3 列组成:data、id、value。

我想以这样的方式过滤数据帧,它应该只包含数组中指定的 id

python arrays dataframe pandas

0
推荐指数
1
解决办法
4408
查看次数

Pandas df 长到宽并旋转?

我有一个像这样的熊猫 df:

在此处输入图片说明

这是输入数据:

[{'Region/Province': 'PHILIPPINES', 'Commodity': 'Atis [Sugarapple]', '2018 January': '..', '2018 February': '..'}, {'Region/Province': 'PHILIPPINES', 'Commodity': 'Avocado', '2018 January': '..', '2018 February': '..'}, {'Region/Province': 'PHILIPPINES', 'Commodity': 'Banana Bungulan, green', '2018 January': '12.57', '2018 February': '12.48'}, {'Region/Province': 'PHILIPPINES', 'Commodity': 'Banana Cavendish', '2018 January': '9.96', '2018 February': '8.8'}]
Run Code Online (Sandbox Code Playgroud)

后面的栏目commodity是这样的:2018年1月,2018年2月.. 2018年一直到2021年。

但我需要这样:

在此处输入图片说明

哪里有重复的Commodity名字,但按年/月分割,Amount因为它有自己的列。我试过了pd.wide_to_long(),它接近我需要的东西,但岁月变成了它们自己的专栏。

任何帮助深表感谢

python dataframe pandas

-1
推荐指数
1
解决办法
34
查看次数

标签 统计

python ×6

dataframe ×5

pandas ×5

arrays ×1

julia ×1

pivot ×1

transpose ×1