Comments (6)
can you pls provide folder path for this issue.
The bug does not depend on folder path.
For example, you can reproduce the bug in IPython.
In [59]: import pandas
...:
...: df1=pandas.DataFrame({("A",""):[1,2,3]},index=["x","y","z"])
...: df2=pandas.DataFrame({("B",""):[11,12,13]},index=["x","y","z"])
...:
...: df3 = df1.join(df2)
...:
...: print(f"{df3.columns=}")
df3.columns=Index([slice(None, None, None), slice(None, None, None)], dtype='object')
from pandas.
Confirmed that this still exists on 2.2.1, but not yet on main. Further investigations and PRs to fix are welcome!
from pandas.
@yuji38kwmt - can you pls provide folder path for this issue.
from pandas.
I don't know what causes the problem, but concat is a little workaround:
df3 = pd.concat([df1, df2], axis=1) #there is join options too
from pandas.
The following code behaved expectedly.
In [89]: import pandas
...:
...: df1=pandas.DataFrame({("A","X"):[1,2,3]},index=["x","y","z"])
...: df2=pandas.DataFrame({("B","Y"):[11,12,13]},index=["x","y","z"])
...:
...: df3 = df1.join(df2)
In [90]: print(f"{df3.columns=}")
df3.columns=MultiIndex([('A', 'X'),
('B', 'Y')],
)
Apparently the problem occurs when the key with label 1 is an empty string.
from pandas.
I did a litter investigated the bug.
The following code creates a pd.Series
containing index which of name is slice(None, None, None)
.
https://github.com/pandas-dev/pandas/blob/v2.2.1/pandas/core/reshape/merge.py#L837-L838
Trial1
- Python 3.12.1
- pandas 2.2.1
In [21]: df=pandas.DataFrame({"A":[1,2,3]},index=["x","y","z"])
In [22]: df[:]
Out[22]:
A
x 1
y 2
z 3
In [24]: df[:].columns
Out[24]: Index(['A'], dtype='object')
In [25]: df11=pandas.DataFrame({("A","x"):[1,2,3]},index=["x","y","z"])
In [26]: df11[:]
Out[26]:
x
x 1
y 2
z 3
In [27]: df11[:].columns
Out[27]: Index(['x'], dtype='object')
In [28]: df12=pandas.DataFrame({("A",""):[1,2,3]},index=["x","y","z"])
# Look at the code !
In [29]: df12[:]
Out[29]:
x 1
y 2
z 3
Name: slice(None, None, None), dtype: int64
In [30]: type(df12[:])
Out[30]: pandas.core.series.Series
Trial2
- Python 3.11.7
- pandas 2.2.1
In [3]: df11=pandas.DataFrame({("A","x"):[1,2,3]},index=["x","y","z"])
In [4]: df11[:]
Out[4]:
A
x
x 1
y 2
z 3
In [5]: df11[:].columns
Out[5]:
MultiIndex([('A', 'x')],
)
In [6]: df12=pandas.DataFrame({("A",""):[1,2,3]},index=["x","y","z"])
In [7]: df12[:]
Out[7]:
A
x 1
y 2
z 3
In [8]: df12[:].columns
Out[8]:
MultiIndex([('A', '')],
)
from pandas.
Related Issues (20)
- BUG: ValueError with loc[] = (Regression 2.1.0) HOT 3
- ENH: Assign for pandas Series HOT 4
- BUG: Convertion fails for columns with datetime64[ms] HOT 3
- COMPAT: Utilize `copy` keyword in `__array__` HOT 1
- DEPR: groupby.idxmin/idxmax will all NA values HOT 2
- ENH: No longer always show hour, minute and second components for pd.Interval HOT 2
- BUG: `Timestamp.unit` should reflect changes in components after `Timestamp.replace` HOT 2
- BUG: .loc operation cannot locate existing index when having single string as index for dataframe ('string',) HOT 4
- DOC: Incorrect Description For pd.concat sort Argument HOT 4
- BUG: validity of interchange column is incorrectly set to Some for 'large-string[pyarrow]'
- BUG: interchange buffer show bytemask (instead of bitmask) validity for `'string[pyarrow]'`
- BUG: Setting a numpy array as a column in Pandas uses only the first column of the array. HOT 5
- BUG: to_parquet on column containing StringArray objects fails HOT 2
- BUG: groupby.apply when func always returns None returns empty dataframe HOT 3
- BUG: timedelta.round fails to round to nearest day HOT 5
- BUG: read_csv inconsistent behavior HOT 7
- DEPR: rename `startingMonth` to `starting_month` (argument in BQuarterBegin) HOT 1
- ENH: DataFrame argument `columns` should accept dict/iterable type HOT 8
- ENH: simple add row capactiy to dataframes HOT 2
- BUG: pd.json_normalize improvement HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pandas.