嗨,我想得到数据帧的唯一值的计数.count_values实现了这个,但我想在其他地方使用它的输出.如何将.count_values输出转换为pandas数据帧.这是一个示例代码:
import pandas as pd
df = pd.DataFrame({'a':[1, 1, 2, 2, 2]})
value_counts = df['a'].value_counts(dropna=True, sort=True)
print(value_counts)
print(type(value_counts))
Run Code Online (Sandbox Code Playgroud)
输出是:
2 3
1 2
Name: a, dtype: int64
<class 'pandas.core.series.Series'>
Run Code Online (Sandbox Code Playgroud)
我需要的是这样的数据帧:
unique_values counts
2 3
1 2
Run Code Online (Sandbox Code Playgroud)
谢谢.
我有一个数据帧:
col1 col2
a 0
b 1
c 1
d 0
c 1
d 0
Run Code Online (Sandbox Code Playgroud)
在'col2'我想要只保留1顶部1的第一个并用a 替换第一个下面的每一个0,这样输出是:
col1 col2
a 0
b 1
c 0
d 0
c 0
d 0
Run Code Online (Sandbox Code Playgroud)
非常感谢你.
我想检查数据框中的列是否由字符串组成,因此我可以用数字标记它们以用于机器学习目的.有些列由数字组成,我不想更改它们.列示例如下所示:
TRAIN FEATURES
Age Level
32.0 Silver
61.0 Silver
66.0 Silver
36.0 Gold
20.0 Silver
29.0 Silver
46.0 Silver
27.0 Silver
Run Code Online (Sandbox Code Playgroud)
谢谢=)
我了解如何使用字典替换列值,但是我想将字典中没有的所有值转换为 NaN 或其他值。我得到这个:
Dictionary is:
{'apple': 1, 'peach': 6, 'watermelon': 4, 'grapes': 5, 'orange': 2,
'banana': 3}
DataFrame is:
fruit_tag
apple
orange
banana
watermelon
red
blue
I use:
df["fruit_tag"].replace(dict, inplace=True)
print(df)
I get:
fruit_tag
1
2
3
4
red
blue
What I want to get:
fruit_tag
1
2
3
4
NaN
NaN
Run Code Online (Sandbox Code Playgroud) 假设我有一个很大的数据DataFrame,但我想专注于其中的选定部分,例如 4 列中的 3 列。如果这些选定的 3 列中至少有 2 个值为空,我想删除整行。
例如,这是我拥有的数据框,我选择的列是['B','C','D']:
A B C D
1 1
2 2
3 3 3 3
4
Run Code Online (Sandbox Code Playgroud)
如果所选列中至少有两个值(即第二行和第四行)为空,如何删除这些行。
最终数据框是:
A B C D
1 1
3 3 3 3
Run Code Online (Sandbox Code Playgroud) 我想根据基于列的条件制作整行NaN例如,如果B> 5我想要整行NaN:
未处理的数据帧:
'A''B'
1 4
3 5
4 6
8 7
Run Code Online (Sandbox Code Playgroud)
如果B> 5,则整行NaN
'A''B'
1 4
3 5
NaN NaN
NaN NaN
Run Code Online (Sandbox Code Playgroud)
谢谢.
我想在数据帧上滚动应用,但是我的自定义函数有问题,我想有一个额外的输入:
df_test = pd.DataFrame(columns=['amount'])
df_test['amount'] = [1, 2, 3, 4, 5]
mean = df_test['amount'].mean()
def rule(x,mean):
x = x-mean
return sum(x)
df_test['amount'].rolling(3).apply(rule,mean=mean)
Run Code Online (Sandbox Code Playgroud)
这返回
TypeError: apply() got an unexpected keyword argument 'mean'
Run Code Online (Sandbox Code Playgroud) 我有一个DataFrame,我想将组名和相应的组计数作为列表或 numpy 数组。但是,当我将输出转换为矩阵时,我只得到组计数,但没有得到名称。就像下面的例子:
df = pd.DataFrame({'a':[0.5, 0.4, 5 , 0.4, 0.5, 0.6 ]})
b = df['a'].value_counts()
print(b)
Run Code Online (Sandbox Code Playgroud)
输出:
[0.4 2
0.5 2
0.6 1
5.0 1
Name: a, dtype: int64]
Run Code Online (Sandbox Code Playgroud)
我试过的是print[b.as_matrix()]。输出:
[array([2, 2, 1, 1])]
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我没有我也需要的相应组名的信息。谢谢你。
我想做这样的操作,但是我无法获取矢量 Mat 的值并更改它们。顺便说一下,表是一个一维数组。谢谢。
vector<Mat> orjchannel;
vector<Mat> refchannel;
// There are some functions here
for (int i = 0; i < 512; i++){
for (int j = 0; j < 512; j++){
double value = refchannel[i][j]; // This part does not work
orjchannel[i][j] = tables[value];
Run Code Online (Sandbox Code Playgroud) 我有一个字符串是这样的:
a = 'Sound_impro_Act'
Run Code Online (Sandbox Code Playgroud)
我想把它分成多个字符串,这些字符串是分隔的单词'_'并将它们分配给不同的变量.
最终结果将是这样的:
b = 'Sound'
c = 'impro'
d = 'act'
Run Code Online (Sandbox Code Playgroud)
谢谢.