如何逆转pandas.dataframe中行的顺序?
我到处寻找,人们谈论的唯一事情是排序列,颠倒列的顺序.
我想要的很简单:
如果我的DataFrame看起来像这样:
A B C
------------------
LOVE IS ALL
THAT MAT TERS
我想让它变成这样:
A B C
------------------
THAT MAT TERS
LOVE IS ALL
我知道我可以以相反的顺序迭代我的数据,但这不是我想要的。
假设我在Pandas中有数据,如下所示:
> my_dataframe
col1 col2
A foo
B bar
C something
A foo
A bar
B foo
其中行表示实例,列表示输入特性(不显示目标标签,但这将用于分类任务),即我试图从构建my_dataframe X。
如何使用例如有效地向量化这一点?
是否需要首先将DataFrame中的每个条目转换为字典?(以上链接中的示例就是这样做的)。有没有更有效的方法来做到这一点?
我有一个DataFrame,其中行按第三列进行“分组”(一个组中的行在第三列具有相同的值):
c1 c2 c3
0 b 1
1 r 1
2 f 2
3 x 2
4 n 2
5 r 3
6 f 3
但是第二列中的值有一个错误的顺序。我需要反转每个“组”中的行,因此DataFrame应该如下所示:
c1 c2 c3
0 r 1
1 b 1
2 n 2
3 x 2
4 f 2
5 f 3
6 r 3
是否有一种有效的方法将第一个DataFrame转换为使用pandas的第二个?
UPD:用更清晰的例子更新。这些值应该
如何仅聚合pandas中的特定列?
import numpy as np
df = pd.DataFrame({'A': [1, 1, 2, 2],
'B': [1, 2, 3, 4],
'C': np.random.randn(4)})
df.groupby('A').agg(['max']) #works as expected, but gives values for col B & C
df.groupby('A&
如何转换以下输入数据(从Excel文件输入的Pandas数据帧):
ID Category Speaker Price
334014 Real Estate Perspectives Tom Smith 100
334014 E&E Tom Smith 200
334014 Real Estate Perspectives Janet Brown 100
334014 E&E Janet Brown
我有一个包含两列时间序列数据的pandas数据帧。在我的实际数据中,这些列足够大,如果没有数据着色器,渲染就会很笨拙。我正在尝试比较这两个时间序列中的事件。但是,我需要能够分辨出哪个数据点来自哪个列。下面是一个简单的函数示例。如何让A列和B列使用不同的颜色映射? import numpy as np
import hvplot.pandas
import pandas as pd
A = np.random.randint(10, size=10000)
B = np.random.randint(30, size=10000)
d = {'A':A,'B'
如何指定自定义聚合函数,使其在pandas.DataFrame.aggregate的列表参数中使用时行为正确
在熊猫里有两列数据.
import pandas as pd
import numpy as np
df = pd.DataFrame(index=range(10))
df['a'] = [ 3 * x for x in range(10) ]
df['b'] = [ 1 -2 * x for x in range(10) ]
..。在聚合函数规范列表上进行聚合不是一个问题:
def ok_mean(x):
return x.mean()
df.
我知道如何将函数应用于Pandas-DataFrame.中的所有列然而,我还没有弄清楚如何在使用Polars-DataFrame.时实现这一点。
我查看了专门讨论这个主题的,但是我没有找到答案。在这里,我附上了一个代码片段与我的失败尝试。
import numpy as np
import polars as pl
import seaborn as sns
# Loading toy dataset as Pandas DataFrame using Seaborn
df_pd = sns.load_dataset('iris')
# Converting Pandas
我经常希望通过组合成组的DataFrame的多个列来创建一个新的DataFrame。apply()函数允许我这样做,但它要求我创建一个不需要的索引:
In [359]: df = pandas.DataFrame({'x': 3 * ['a'] + 2 * ['b'], 'y': np.random.normal(size=5), 'z': np.random.normal(size=5)})
In [360]: df
Out[360]:
x y z
0 a
我试图在python上加载一个xlsx文件,但是我发现一些值是不准确的。我知道使用Decimal更准确,但我发现从数据集给出的原始值是不准确的。This is the row from the xlsx file with the problem value highlighted。And this is the output when I pull that value from the dataframe。这就是我加载数据的方式 import pandas as pd
data = pd.read_excel(r'A:\Deakin\Crypto\Export Trade His
当我对DataFrame求和时,它返回一个Series
In [1]: import pandas as pd
In [2]: df = pd.DataFrame([[1, 2, 3], [2, 3, 3]], columns=['a', 'b', 'c'])
In [3]: df
Out[3]:
a b c
0 1 2 3
1 2 3 3
In [4]: s = df.sum()
In [5]: type(s)
Out[5]: pandas.core.series.Series
正如你在下面看到的,我在我的数据框中有不同的‘ticker’,我想计算'lret‘列的标准偏差,但每个单独的ticker。目前,它将整个列作为一行进行计算。如何计算数据帧中每个报价器的标准差?任何帮助都将不胜感激。另外,请参见下面的函数,了解代码当前所做的工作。 数据帧输出 price date ticker lret std
0 104.000000 2016-07-01 A NaN 0.019456
1 104.878151 2016-07-05 A 0.008408 0.019456
2
编辑:忘记提到这必须在熊猫身上完成。
我在将某个文件读入pandas数据帧时遇到了一点小问题。我试过了:
import pandas as pd
import matplotlib.pyplot as plt
dataframe = pd.read_csv('/home/leon/Desktop/Uni/ML Lab/Text.txt',
delim_whitespace=True, header=None)
print(dataframe)
如果我尝试使用包含类似"Hello this is a test“的.txt,它可以很好地工作,但是尝试时,我得到错误信息:
我想将从一行转到列,其中行数是动态的。然后,transposed还必须具有动态列数。
我成功地使用了iterrow()和concat()方法,但是我想优化我的代码。
请查找我的当前代码:
import pandas as pd
expected_results_transposed = pd.DataFrame()
for i, r in expected_results.iterrows():
t = pd.Series([r.get('B')], name=r.get('A'))
expected_results_transposed = p