如何在python dataframe中随机选择和赋值给给定的行数。列B只包含1和0。假设我有一个数据帧,如下 Col A Col B
A 0
B 0
A 0
B 0
C 0
A 0
B 0
C 0
D 0
A 0 我的目标是随机选择5%的行,并将列B的值更改为1。我看到了df.sample(),但这不允许我就地更改列数据
我使用从CSV文件中填充的熊猫数据帧,然后使用Bokeh将该数据帧转换为ColumnDataSource。
看上去像是:
dataFrame = pandas.read_csv('somefile.CSV')
source = ColumnDataSource(dataFrame)
现在我有了所有的列,我想做基于行的计算。
例如:我有三列:
x, y, colour
它可能有以下内容:
1, 2, blue
2, 5, red
1, 8, yellow
现在,当我在源代码中搜索时,我想在该行中更改一些关联变量,那么我如何做到这一点:
# how do i step throug
我刚接触pandas,我正在尝试更新基于'Id'列的'Text‘列。
我的数据是这样的[(1,'One'), (0, 'Zero'), (4,'Four'), (3, 'Three')]我在数据中也有一些丢失的id,对于那些丢失的id,我必须将其留空
原始数据帧
Id A Text
0 0 NaN
1 1 NaN
2 2 NaN
3 3 NaN
4 4 NaN
最终数据帧
Id A Text
0 0 Zer
在pandas中按行或按列混洗数据帧的简单而有效的方法是什么?即如何编写一个函数shuffle(df, n, axis=0),该函数接受一个数据帧、多个随机n和一个轴(axis=0是行,axis=1是列),并返回已经被随机n次的数据帧的副本。
编辑:关键是在不破坏数据帧的行/列标签的情况下执行此操作。如果你只是混洗df.index,就会丢失所有的信息。我希望生成的df与原始的相同,只是行的顺序或列的顺序不同。
Edit2:我的问题不清楚。当我说对行进行混洗时,我指的是独立地对每一行进行混洗。因此,如果您有两列a和b,我希望每一行都按自己的顺序排列,这样您就不会像将每一行作为一个整体重新排序时那
我有一个Pandas数据帧,有几列,范围从0到100。我想在dataframe中添加一列,其中包含每行具有最大值的列的名称。所以:
one two three four COLUMN_I_WANT_TO_CREATE
5 40 12 19 two
90 15 58 23 one
74 95 34 12 two
44 81 22 97 four
10 59 59 44 [either two or three, selected randomly]
等。
如果解决方
我将csv文件读入pandas数据帧,并希望将具有二进制答案的列从yes/no字符串转换为1/0整数。下面,我展示了其中一列("sampleDF“是pandas数据帧)。
In [13]: sampleDF.housing[0:10]
Out[13]:
0 no
1 no
2 yes
3 no
4 no
5 no
6 no
7 no
8 yes
9 yes
Name: housing, dtype: object
非常感谢您的帮助!
下面是组成一个包含两列的pandas数据帧的代码,一列名为data,另一列名为hours。data列是从-150到250的随机整数。hours列是从.5到15.5.的随机浮点数。
import random
import numpy as np
import pandas as pd
data = np.random.randint(-150,250,size=200)
df = pd.DataFrame(data, columns=['Data'])
#generate random floats for df2
randomFloatList = []
# Set a
我在python 3.X中使用了Pandas 0.20.3,我想从另一个熊猫数据框架中添加一列到熊猫数据框架中。这两个数据帧都包含51行。因此,我使用了以下代码:
class_df['phone']=group['phone'].values
我收到以下错误消息:
ValueError: Cannot set a frame with no defined index and a value that cannot be converted to a Series
class_df.dtypes给了我:
Group_ID object
YEAR