我有不同列中的数据,但我不知道如何提取它以将其保存在另一个变量中.
index a b c
1 2 3 4
2 3 4 5
Run Code Online (Sandbox Code Playgroud)
我该如何选择'a'
,'b'
并保存到DF1?
我试过了
df1 = df['a':'b']
df1 = df.ix[:, 'a':'b']
Run Code Online (Sandbox Code Playgroud)
似乎没有工作.
我有一个dataframe
超过200列.问题在于订单生成了
['Q1.3','Q6.1','Q1.2','Q1.1',......]
Run Code Online (Sandbox Code Playgroud)
我需要按如下方式重新排序列:
['Q1.1','Q1.2','Q1.3',.....'Q6.1',......]
Run Code Online (Sandbox Code Playgroud)
我有办法在Python中做到这一点吗?
我有pandas dataframe
一列文本字符串包含逗号分隔值.我想拆分每个CSV字段并为每个条目创建一个新行(假设CSV是干净的,只需要在','上拆分).例如,a
应该成为b
:
In [7]: a
Out[7]:
var1 var2
0 a,b,c 1
1 d,e,f 2
In [8]: b
Out[8]:
var1 var2
0 a 1
1 b 1
2 c 1
3 d 2
4 e 2
5 f 2
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试了各种简单的函数,但是.apply
当在轴上使用时,该方法似乎只接受一行作为返回值,而我无法.transform
工作.我们欢迎所有的建议!
示例数据:
from pandas import DataFrame
import numpy as np
a = DataFrame([{'var1': 'a,b,c', 'var2': 1},
{'var1': 'd,e,f', 'var2': 2}])
b = DataFrame([{'var1': 'a', 'var2': 1},
{'var1': 'b', 'var2': 1},
{'var1': 'c', …
Run Code Online (Sandbox Code Playgroud) 我这样做:
data1 = pd.DataFrame({ 'b' : [1, 1, 1], 'a' : [2, 2, 2]})
data2 = pd.DataFrame({ 'b' : [1, 1, 1], 'a' : [2, 2, 2]})
frames = [data1, data2]
data = pd.concat(frames)
data
a b
0 2 1
1 2 1
2 2 1
0 2 1
1 2 1
2 2 1
Run Code Online (Sandbox Code Playgroud)
数据列顺序按字母顺序排列.为什么会这样?以及如何保持原始订单?
我正在使用库中的模块Pipeline
对我的数据集执行特征工程。ColumnTransformer
sklearn
数据集最初看起来像这样:
日期 | 日期块编号 | 店铺ID | 商品编号 | 商品价格 |
---|---|---|---|---|
2013年1月2日 | 0 | 59 | 22154 | 999.00 |
2013年1月3日 | 0 | 25 | 2552 | 899.00 |
2013年1月5日 | 0 | 25 | 2552 | 899.00 |
2013年1月6日 | 0 | 25 | 2554 | 1709.05 |
2013年1月15日 | 0 | 25 | 2555 | 1099.00 |
$> data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2935849 entries, 0 to 2935848
Data columns (total 6 columns):
# Column Dtype
--- ------ -----
0 date object
1 date_block_num object
2 shop_id object
3 item_id object
4 item_price float64
dtypes: float64(2), int64(3), object(1)
memory usage: 134.4+ MB …
Run Code Online (Sandbox Code Playgroud) 我有一个如下所示的数据框
tdf = pd.DataFrame({'text_1':['value: 1.25MG - OM - PO/TUBE - ashaf', 'value:2.5 MG - OM - PO/TUBE -test','value: 18 UNITS(S)','value: 850 MG - TDS AFTER FOOD - SC (SUBCUTANEOUS) -had', 'value: 75 MG - OM - PO/TUBE']})
Run Code Online (Sandbox Code Playgroud)
我想应用正则表达式并根据下面给出的规则创建两列
colval
应该存储value:
之前和之后的所有文本first hyphen
colAdm
应该在之后存储所有文本third hyphen
我尝试了以下但它不能准确地工作
tdf['text_1'].str.findall('[.0-9]+\s*[mgMG/lLcCUNIT]+')
Run Code Online (Sandbox Code Playgroud)
对于给定的数据框:
UUT testa testb testc testd
DateTime
2017-11-21 18:47:29 1.0 1.0 1.0 3.0
2017-11-21 18:47:30 1.0 2.0 1.0 4.0
2017-11-21 18:47:31 1.0 2.0 5.0 2.0
2017-11-21 18:47:32 1.0 2.0 5.0 1.0
2017-11-21 18:47:33 1.0 2.0 5.0 4.0
2017-11-21 18:47:34 1.0 2.0 5.0 1.0
Run Code Online (Sandbox Code Playgroud)
如果我想要以下顺序,我怎么能手动重新排列我想要的列?
testc, testd, testa, testb
Run Code Online (Sandbox Code Playgroud)
因此表格和情节将以这种方式:
UUT testc testd testa testb
DateTime
2017-11-21 18:47:29 1.0 3.0 1.0 1.0
2017-11-21 18:47:30 1.0 4.0 1.0 2.0
2017-11-21 18:47:31 5.0 2.0 1.0 2.0
2017-11-21 18:47:32 5.0 1.0 1.0 2.0
2017-11-21 …
Run Code Online (Sandbox Code Playgroud) 我想在数字标记为列数据帧的两列之间的数据帧中添加一列.在以下数据框中,第一列对应于索引,而第一列对应于列的名称.
df
0 0 1 2 3 4 5
1 6 7 4 5 2 1
2 0 3 1 3 3 4
3 9 8 4 3 6 2
Run Code Online (Sandbox Code Playgroud)
我有tmp=[2,3,5]
我想要的列之间放4
和5
,所以
df
0 0 1 2 3 4 5 6
1 6 7 4 5 2 2 1
2 0 3 1 3 3 3 4
3 9 8 4 3 6 5 2
Run Code Online (Sandbox Code Playgroud) 我在使用 Pandas .groupby()和.transform() 时遇到了一个奇怪的行为。下面是生成数据集的代码:
df = pd.DataFrame({"Name" : ["Alice", "Bob", "Mallory", "Mallory", "Bob" , "Mallory"] ,
"Random_Number": [1223344, 373293832, 32738382392, 7273283232, 8239329, 23938832],
"City" : ["Seattle", "Seattle", "Portland", "Seattle", "Seattle", "Portland"]})
Run Code Online (Sandbox Code Playgroud)
这是我为transform() 编写的函数。
# this function will attach each value in string col with the number of elements in the each city group
# if the col type is not an object, then return 0 for all rows.
def some(x):
if x.dtype == 'object':
return x + …
Run Code Online (Sandbox Code Playgroud) pandas ×10
python ×10
dataframe ×5
concat ×1
data-science ×1
numpy ×1
pivot-table ×1
regex ×1
scikit-learn ×1
select ×1
sorting ×1
string ×1
transform ×1