小编Egi*_*ila的帖子

python - Pandas - Dataframe.set_index - 如何保留旧索引列

我有这个Dataframe:

import pandas as pd
df = pd.DataFrame({'Hugo' : {'age' : 21, 'weight' : 75},
                   'Bertram': {'age' : 45, 'weight' : 65},
                   'Donald' : {'age' : 75, 'weight' : 85}}).T
df.index.names = ['name']


         age  weight
name                
Bertram   45      65
Donald    75      85
Hugo      21      75
Run Code Online (Sandbox Code Playgroud)

我想将索引更改为列'age':

df.set_index('age', inplace=True)

     weight
age        
45       65
75       85
21       75
Run Code Online (Sandbox Code Playgroud)

旧索引列名称丢失.有没有办法在不丢失原始索引列的情况下更改索引并再次将旧列作为"普通"列,这样看起来像这样?

     name       weight
age        
45   Bertram    65
75   Donald     85
21   Hugo       75
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas

13
推荐指数
3
解决办法
9377
查看次数

基于索引将 Pandas DataFrame 中的行替换为其他 DataFrame

我有 2 个数据帧

df1
    B   C
A       
0   300 6
1   400 7
2   500 8
3   600 9

df2
    B   C
A       
2   433 99
3   555 99
Run Code Online (Sandbox Code Playgroud)

这就是我构建它们的方式:

df1 = pd.DataFrame({'A': [0, 1, 2, 3],
                   'B': [300, 400, 500, 600], 
                   'C': [6, 7, 8, 9]})
df1.set_index('A', inplace=True)
df2 = pd.DataFrame({'A': [2, 3],
                    'B': [433, 555],
                    'C': [99, 99]})
df2.set_index('A', inplace=True)
Run Code Online (Sandbox Code Playgroud)

我想df1df2基于索引的行替换所有行,结果应如下所示:

df_result
    B   C
A       
0   300 6
1   400 7
2   433 99 …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

10
推荐指数
3
解决办法
6130
查看次数

Pandas Dataframe行选择组合条件索引和列值

我想根据索引中的值与特定列中的值结合从数据框中选择行:

df = pd.DataFrame([[0, 2, 3], [0, 4, 1], [0, 20, 30], [40, 20, 30]], 
                  index=[4, 5, 6, 7], columns=['A', 'B', 'C'])


    A   B   C
4   0   2   3
5   0   4   1
6   0  20  30
7  40  20  30
Run Code Online (Sandbox Code Playgroud)

df.loc[df['A'] == 0, 'C'] = 99
Run Code Online (Sandbox Code Playgroud)

我可以选择与列A = 0的所有行,并用99替换在列C中的值,但如何选择= 0和索引<6(我想选择的索引与该选择结合与A列中的所有行柱)?

python pandas

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

pandas.read_excel 在 Excel 中具有相同的列名

当我使用 pandas.read_excel 导入 Excel 表时,存在列名相同的问题(或功能:-))。例如,Excel 文件有两列名为“dummy”,导入数据帧后,第二列名为“dummy.1”。有没有一种方法可以在不重命名选项的情况下导入?

python excel pandas

4
推荐指数
1
解决办法
4294
查看次数

RedisInsight 包含恶意软件

我几天前安装了 RedisInsight -win.1.2.0。我用 VirusTotal 检查了安装文件。只有一台扫描仪报告感染了木马。这在我看来是虚惊一场。但是今天Windows Defender 停止了该文件。如果我今天用 VirusTotal 扫描 RedisInsight.exe 有 23 个发现!

redis

4
推荐指数
1
解决办法
939
查看次数

为什么 iloc() 的一种使用会给出 SettingWithCopyWarning,而另一种则不会?

在类的方法中,我使用以下语句:

self.__datacontainer.iloc[-1]['c'] = value
Run Code Online (Sandbox Code Playgroud)

这样做我得到一个“SettingWithCopyWarning:一个值正试图在来自 DataFrame 的切片的副本上设置”

现在我尝试重现此错误并编写以下简单代码:

import pandas, numpy
df = pandas.DataFrame(numpy.random.randn(5,3),columns=list('ABC'))
df.iloc[-1]['C'] = 3
Run Code Online (Sandbox Code Playgroud)

在那里我没有错误。为什么我在第一个语句中出现错误而不是在第二个语句中?

python copy dataframe pandas

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

python在子图中绘制不同的轴标题(边缘)

当对带有边缘子图的直方图使用绘图表达并更改轴标题时,我遇到轴标题显示两次的问题。

在此输入图像描述

例如,请参阅以下代码:

import plotly.express as px
df = px.data.tips()
fig = px.histogram(df, x="total_bill", marginal="violin")
fig.update_xaxes(title_text='x-axis')
fig.update_yaxes(title_text='y-axis')
fig.show()
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能使轴标题仅显示一次?

python plotly-python

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

Python Pandas - 将两个Dataframe与新旧行合并

我有两个带有相同(对应)索引的行的Dataframe,我想合并它.每行都有一个更新时间.对于具有相同索引的行,具有更高更新时间的行将获胜.应该采用"较新"行中的所有字段,除了字段仅在"较旧"行中是值.例:

df1 = pd.DataFrame({'Hugo' : {'age' : 21, 'weight' : 75},
                   'Niklas': {'age' : 46, 'weight' : 65},
                   'Ronald' : {'age' : 76, 'weight' : 85, 'height' : 176}}).T
df1.index.names = ['name']
df1['update_time'] = 1

df2 = pd.DataFrame({'Hugo' : {'age' : 22, 'weight' : 77},
                   'Bertram': {'age' : 45, 'weight' : 65, 'height' : 190},
                   'Donald' : {'age' : 75, 'weight' : 85},
                   'Ronald' : {'age' : 77, 'weight' : 84}}).T
df2.index.names = ['name']
df2['update_time'] = 2


df1:
+--------+-------+----------+----------+---------------+
| …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

标签 统计

python ×7

pandas ×6

dataframe ×3

copy ×1

excel ×1

plotly-python ×1

python-3.x ×1

redis ×1